프로그래밍 언어/Python

파이썬 문자열 관련 함수 정리하기

트리맨스 2021. 5. 2. 00:15
반응형

 

문자열 처리에 대한 알고리즘은 양이 너무 방대하다. 문자열을 파싱하는 것은 각 상황마다 알맞은 알고리즘을 생각해야 하기 때문이다. 나도 문자열 알고리즘에 매우 취약한 편이라서 아예 이번에 문자열 처리 메소드 및 관련 내용에 관한 내용을 정리하는 것이 좋겠다고 생각했다.

 

C는 속도는 빠르지만 문자열 처리가 복잡하므로 되도록 파이썬으로 문자열 처리를 해보기로 했다. C로 처리할 일이 곧 많이 생기겠지만 ㅠㅜ (C는 문자열을 포인터 연산으로 처리하는것이 가장 좋다.)

 

1. 문자열 계산하기


len(str) : 문자열 길이를 반환

max(str), min(str) : 문자열 내 문자의 최소/최대 값 반환 (숫자 오름차순 > 알파벳 오름차순)

str.count(finds) : str 문자열 내 finds랑 일치하는 문자열의 개수 반환

 

2. 특정 문자열 찾기


str.startswith(finds) : str문자열이 finds로 시작하면 True 반환, 아닐시 False 반환

str.endswith(finds) : str 문자열이 finds로 끝나면 True 반환, 아닐시 False 반환

str.find(finds) : str 문자열이 finds이 있는지 앞에서부터 찾아 index 반환, 없으면 -1 반환, 자매품 rfind()

str.index(finds) : find()와 동일한 기능, 매개변수가 없으면 ValueError 반환, 자매품 rindex()

 

3. 숫자, 문자 포함 여부 확인하기


str.isalnum() : 문자열이 알파벳과 숫자로 이루어져있으면 True, 아닐시 False

str.isalpha() : 문자열이 알파벳으로 이루어져있으면 True, 아닐시 False

str.isdigit() : 문자열이 숫자로 이루어져있으면 True, 아닐시 False, 자매품 isnumeric()

isdecimal() : 문자열이 10진수 문자열이면 True, 아닐시 False

 

4. 대문자 소문자


str.islower() : 모두 소문자면 True, 아닐시 False

str.isupper() : 모두 대문자면 True, 아닐시 False

str.lower() : 모두 소문자로 변환한 문자열을 반환, 자매품 upper()

str.swapcase() : 소문자 대문자 바꾼 문자열 반환

str.istitle() : 단어의 맨앞글자만 대문자(영어의 제목 형식에 맞게)일시 True 반환, 아닐시 False

str.title() : 단어의 맨앞글자만 대문자로 변환한 문자열 반환

str.capitalize() : 문자열의 맨 앞글자만 대문자로 변환한 문자열 반환

 

5. 공백 처리하기


str.strip() : 문자열 양쪽의 공백 제거한 문자열 반환, 자매품 lstrip(), rstrip()

str.isspace() : 문자열이 모두 공백이면 True, 아닐시 False

str.center(width) : 총 길이가 width가 되도록 양쪽에 공백을 추가하여 중앙정렬

 

6. 문자열 수정하기


str.split(sep = ',') : 문자열을 ',' 기준으로 나누어서 리스트로 저장한것 반환 (다중반환값 가능, 입력변수 없을경우 기본값은 space)

str.splitlines() : 문자열을 '\n' 기준으로 나눈다. 나머지는 split이랑 동일

str.replace(old, new, max) : old 문자열을 new 문자열로 고쳬, max가 있을 경우 max 개수 만큼만 교체한다.

seps.join(strs) : strs 안에 있는 문자들을 spes 로 구분하여 한 개의 문자열을 만들어 그것을 반환한다.

str.zfill(width) : 문자열 앞에 0을 채워 전체 길이가 width가 되게 함.

str.ljust(width, fillchar) : 문자열을 width 길이로 만든다. 원본은 왼쪽으로, 남은칸은 fillchar로 채운것을 반환, 자매품 rjust()

table = str.maketrans('aeiou', '12345) : 첫번째 매개변수의 문자열을 2번째 매개변수에 1대1 대응되는 문자로 반환 가능한 테이블을 만든다. translate랑 같이 쓴다.

str.translate(table) : str에 있는 문자가 table에 있는 문자랑 대응이 되면 치환한다. 없으면 치환하지 않는다. 치환한 문자열을 반환

 

7. 문자열 연산자


문자열 더해서 연결하기 : + 

같은 내용 반복하기 : *

 

 

문자열 처리 너무 어렵다. 위에 제시된 내용들을 바탕으로 응용하는 능력이 아직 많이 부족한것 같다. 꾸준한 연습이 필요하다고 생각한다.

 

 

반응형