Programming/etc

파이썬 문자열 메서드 종류

제타 2018. 3. 21. 21:57
반응형

파이썬 문자열 메서드 종류

sql server 최근 버전부터 파이썬을 지원하기 시작했다.

쿼리로 구현하기 힘든 것들은 파이썬 코드로 구현하면 훨씬 편할 것이다.



1. capitalize()

첫문자를 대문자로, 나머지 문자는 소문자로 바꿔줌

>>> "PYTHON".capitalize()

'Python'


2.count(keyword,[start,[end]]

keyword가 몇번 포함되어있는지 알려줌. start와 end를 지정해서 검색범위 지정가능.

2. >>> "ppython".count('p')

2


3.encode([encodeing,[errors]])

파이썬3에서 str 클래스는 유니코드. encode를 통해 인코딩이 있는 바이너리로 변환가능.

>>> "가나다".encode('cp949')

b'\xb0\xa1\xb3\xaa\xb4\xd9'

>>> "가나다".encode('utf-8')

b'\xea\xb0\x80\xeb\x82\x98\xeb\x8b\xa4'

>>>


4.endswith(postfix,[start,[end]])

postfix로 문자열이 끝나면 true를 반환하고 아니면 false를 반환함 start와 end로 범위 지정 가능. startswith와 반대기능.

>>> "python is good".endswith('good')

True

>>> "python is good".endswith('goo')

False


5.expandtabs([tabsize])

탭을 공백으로 치환해줌. 디폴트 탭 사이즈는 8자이다.

>>> "python\tpython"

'python\tpython'

>>> "python\tpython".expandtabs()

'python  python'



6.find(keyword.[start,[end]])

문자열 keyword가 나타나는 첫번째 인덱스를 반환한다. 못찾으면 -1을 반환하고 범위를 지정 가능. rfind()는 뒤에서부터 찾기.

>>> "python is good".find('p')

0

>>> "python is good".find('y')

1


7. index(keyword.[start,[end]])

find와 똑같이 동작하지만 keyword를 못찾으면 valueerror 예외가 발생함.

rindex는 뒤에서부터 찾기

>>> "python is good".index('p')

0


8. isalnum()

알파벳과 숫자로 구성되어 있으면 true, 아니면 false 반환.

>>> "python is good".isalnum()

False

>>> "pythonisgood".isalnum()

True


9. isalpha()

알파벳으로만 구성되어 있으면 true, 아니면 false

>>> "pythonisgood".isalpha()

True


10. islower() 모든 알파벳이 소문자이면 true 아니면 false

반대는 isupper()

>>> "python".islower()

True

>>> "python3.6".islower()

True


11. isspace()

모두 공백문자(스페이스, 탭, 개행문자)로 이루어져 있으면 true, 아니면 false

>>> "python is good".isspace()

False

>>> " ".isspace()

True

>>> "\t\n".isspace()

True



12. istitle()

문자열이 title 스타일(첫 문자가 대문자이고 다음문자부터 소문자)이면 true 아니면 false

>>> "Python Is Good".istitle()

True

>>> "PYTHON IS GOOD".istitle()

False


13. isdecimal(), isdigit()

10진수로 구성되어 있으면 true 아니면 false

"2580".isdecimal()

True


14. isnumeric()

숫자로 구성되어 있으면 true 아니면 false

>>> "777".isnumeric()

True

>>> "777a".isnumeric()

False


15. printable()

프린트가 가능한 경우에 true 아니면 false. 유니코드상에서 other로 구분되어 있는 문자는 false로 반환함.

>>> "python".isprintable()

True

>>> "\u0014".isprintable()

False


16. join(sequence)

시퀀스형 변수를 지정된 문자열로 연결해서 반환함. split과 정 반대

>>> ".".join("PYTHON")

'P.Y.T.H.O.N'


17. split([separator,[maxsplit]])

문자열을 separator로 분리함. rsplit()과 거의 비슷하게 기능함.

rsplit도 있음

>>> 'P.Y.T.H.O.N'.split('.')

['P', 'Y', 'T', 'H', 'O', 'N']


18. lower()

모든 영문자를 소문자로 변환한다.

>>> "PyThOn".lower()

'python'


19. lstrip([chars])

문자열의 왼쪽을 잘라냄. chars를 지정하지 않으면 공백을 제거함.

rstrip은 오른쪽부터 잘라냄.

>>> "  zzzzzz".lstrip()

'zzzzzz'


20. partition(separator)

문자열을 separator로 나눈다. 앞, separator, 뒤 세 개의 튜플로 반환이 됨.

rpartition은 뒤에서부터 검사함.

>>> "python is good".partition("is")

('python ', 'is', ' good')


21. replace(old, new, [count])

old를 new로 count 만큼 대체한다.

>>> "python is good".replace(" ","_",1)

'python_is good'


22. rfind(keyword,[start,[end]])

find랑 같지만 뒤에서 부터 찾는다.

>>> "python is good".rfind('p')

0

>>> "python is good".find('p')

0


23. splitlines([keep])

여러 라인으로 되있는 문자열열을 분리함. keep을 true로 설정하면 구분자를 분리된 문자열에서 제거하지 않고 디폴트는 false이다.

"python\r\nis\r\ngood".splitlines()

['python', 'is', 'good']

>>> "python\r\nis\r\ngood".splitlines(True)

['python\r\n', 'is\r\n', 'good']


24. strip([chars])

문자열의 양쪽 끝을 잘라냄. chars를 지정하지 않으면 공백문자를 제거하고 지정하면 모든 조합을 제거한다.

>>> "\t python \t".strip()

'python'

>>> "--- python is good ___".strip("-_")

' python is good '

>>> "--- python is good ___".strip("_-")

' python is good '


25. swapcase()

영문자에 대해서만 소문자는 대문자로, 대문자는 소문자로 변환한다.

>>> "Python3.6".swapcase()

'pYTHON3.6'


26. title()

모든 단어에 대해서 첫 문자는 대문자로 나머지 문자는 소문자로 변환한다. 즉 스타일 형태로 변환.

>>> "python".title()

'Python'


27. 모든 영문자를 대문자로 변환한다. lower()와 반대 기능.

>>> "Python3.6".upper()

'PYTHON3.6'

반응형