본문 바로가기
Programming/etc

파이썬 문자열 메서드 종류

by 제타 2018. 3. 21.
반응형

파이썬 문자열 메서드 종류

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'

반응형

'Programming > etc' 카테고리의 다른 글

파이썬 2.x 버전과 3.x 버전 차이  (0) 2018.04.22
SMP, MPP, NUMA 병렬 프로세스 기술  (0) 2018.04.21
TCP/IP Socket programming  (0) 2018.04.17
OSI 모델과 TCP/IP 프로토콜  (0) 2018.04.15
파이썬 정규 표현식(re) 모듈  (0) 2018.03.21