본문 바로가기
Language/Python

파이썬(Python) 정리 - 6. String 문자열 메소드

by hongdor 2020. 12. 13.
728x90

알고리즘 공부를 위해 python으로 PS(problem solving)을 하려고 한다. 

그래서 파이썬을 정리해 본다.

 

출처 : Built-in Types — Python 3.9.1 documentation

 

공식 document 에서 내가 판단하기에 자주 쓸것 같은 함수들만 모았다.

 

** 필수

str[3:5] : substring 대신 사용. str="abcdefg" 일 경우 3<= index < 5 의 "de" 출력 

str[3:] : str="abcdefg" 일 경우 3부터 끝까지, "defg" 출력. 

str.count(sub[, start[, end]]) : sub에 들어간 문자열의 개수를 센다. ( ababab 에서 abab는 1개, 중복제외 )

str.find(sub[, start[, end]]) : sub str의 첫번째 위치를 찾는다. 범위를 정할 수 있다. 못찾으면 -1 반환

str.replace(old, new[, count]) : old str을 new str로 대체 후 반환. count옵션은 앞에서부터 count 횟수만큼 대체

>> "abc".replace("b", "") : "ac" 출력. 문자를 제거하는데 사용한다.

list(str) : str을 list로 변환해 반환

 

 

** 오오 좀 쓸 것 같다.

str.isalpha() : 문자가 전부 알파벳이면 true. 아니면 false

str.islower() : 전부 소문자이면 true. 아니면 false

str.lower() : 소문자 copy를 반환

str.isupper() : 전부 대문자이면 true. 아니면 false

str.upper() : 대문자 변환 copy를 반환

str.split(sep=None, maxsplit=-1) : sep str들을 기준으로 나누어 list를 반환.

str.startswith(prefix[, start[, end]]) : prefix로 시작하면 true. 아니면 false. 튜플 입력도 가능. 범위설정도 가능.

str.endswith(suffix[, start[, end]]) : suffix string으로 끝나면 true. 아니면 false. 튜플도 가능. 시작 끝 설정가능

str.isdecimal() : 숫자면 true. int 타입으로 즉시 변환가능

str.isdigit() :  숫자면 true. 3² 처럼 3의 2승 같은것까지 인정된다.

str.isnumeric() : 전부 숫자면 true. 숫자값 표현에 해당하는 1/2 까지도 인정. 가장 넓은 의미

 

 

** 알아두면 언젠가 한번은 쓰지 않을까

str.rfind(sub[, start[, end]]) : reverse find. sub str과 일치하는 가장 뒤 index를 반환

str.capitalize() : 첫문자는 대문자, 나머지는 소문자로 반환

str.partition(sep) : 첫번째 sep을 기준으로 (전, sep, 후)로 구성된 튜플을 반환. 없을경우 empty 2개와 str 을 반환

str.rpartition(sep) : 맨뒤 sep을 기준으로 한다는 것 외엔 str.partion(sep) 와 동일.

str.center(width[, fillchar]) : fillchar로 앞뒤로 채워 width의 길이를 만들어 반환 Ex) "str".center(5, '#') : #str#

str.ljust(width[, fillchar]) : fillchar로 앞에 채워 width의 길이를 만들어 반환 Ex) "str".ljust(5, '#') : ##str

str.rjust(width[, fillchar]) : fillchar로 뒤에 채워 width의 길이를 만들어 반환 Ex) "str".rjust(5, '#') : str##

str.expandtabs(tabsize=8) : tab의 간격을 재정의 후 적용 해 반환. ( 디폴트는 space 8개 )

str.removeprefix(prefix, /) : 'TestHook'.removeprefix('Test') >> 'Hook'

str.removesuffix(suffix, /) : 'MiscTests'.removesuffix('Tests') >> 'Misc'

str.lstrip([chars]) : 'omczw.example.com'.lstrip('cmowz.') >> 'example.com'  copy 반환

str.rstrip([chars]) : lstrip과 동일하게 chars 배열 요소가 아닌것이 나올때까지 벗긴다. 차이점은 오른쪽부터 라는것

str.strip([chars]) : lstrip과 rstrip이 합쳐진 것이다.

str.swapcase() : 소문자는 대문자로, 대문자는 소문자로 swap해서 반환.

str.title() : 단어의 첫글자들을 대문자로 만들어 반환 

str.istitle() : 단어 첫글자만 대문자 이면 true.

str.index(sub[, start[, end]]) : find와 같으나 못찾으면 valueError를 발생

str.rindex(sub[, start[, end]]) : rfind와 같으나 못찾으면 valueError 발생

str.isalnum() : 문자가 전부 알파벳과 숫자이면 true. 아니면 false

str.isascii() : 문자가 전부 아스키코드이면 true. 아니면 false

str.isspace() : space만 있으면 true.

 

 

** 휴지통

str.casefold() : casefold 카피를 반환

str.encode(encoding="utf-8", errors="strict") : 인코딩

str.isidentifier() : identifier 이면 true. 아니면 false 

str.iskeyword(string) : keyword이면 true. 아니면 false 

str.join(iterable) : iterable의 string을 이어붙여 반환. string이 아닌것이 있으면 typeError발생 Ex) join(list)  

str.format(*args, **kwargs)

str.format_map(mapping)

str.isprintable() 

str.maketrans(x[, y[, z]])

str.rsplit(sep=None, maxsplit=-1)

str.splitlines([keepends])

str.zfill(width)

str.translate(table)

728x90

댓글