본문 바로가기

공부기록/Python

[python] 문자열 관련 함수 정리

반응형

 

파이썬에서 문자열을 다룰 때 사용할 수 있는 함수들을 정리해보려고 한다.

 

멤버십 연산자 

먼저, 가장 기본이되는 멤버십 연산자 membership operator를 사용해 문자열을 검색 할 수 있다.

 

'na' in 'yena'  # yena에 na가 포함 o 인지 ?
'na' not in 'yena'  # yena에 na가 포함 x 인지?

 

pattern이 text에 포함되어있는지 boolean 값으로 반환한다.

 

 

find, index 계열 함수

str클래스에 소속된 find(), rfind(), index(), rindex()를 이용하여 문자열을 검색할 수 있다.

find()

text = 'yenana'
pattern = 'na'
start = 0  # 시작 인덱스
end = len(text) # 시퀀스의 길이 

text.find(pattern, start, end)

반환값 : 2

 

string에서 start인덱스부터 end-1인덱스 까지 pattern이 포함되면 그 가운데 가장 작은 인덱스를 반환하고, 그렇지 않으면 -1을 반환한다. 

예제 텍스트 'yenana'에서 패턴인 'na'는 2번째 인덱스 부터 등장하므로 위 코드는 2를 반환한다. 

이때, start와 end는 생략할 수 있다.

rfind()

text = 'yenana'
pattern = 'na'
start = 0  # 시작 인덱스
end = len(text) # 시퀀스의 길이 

text.rfind(pattern, start, end)

반환값 : 4

 

find()와 다르게 문자열에서 end-1인덱스 부터 start까지 패턴이 처음으로 발견되는 위치를 반환한다. 그렇지 않으면 -1을 반환한다.

예제 텍스트 'yenana'에서 패턴인 'na'는 뒤에서 부터는 4번째에 등장하므로 위 코드는 2를 반환한다. 

index()

text = 'yenana'
pattern = 'na'
start = 0  # 시작 인덱스
end = len(text) # 시퀀스의 길이 

text.index(pattern, start, end)

반환값 :  2

 

find()함수와 같은 기능을 한다.

find와의 차이점은 문자열을 발견하지 못하면 예외처리로 ValueError를 발생시킨다.

rindex()

text = 'yenana'
pattern = 'na'
start = 0  # 시작 인덱스
end = len(text) # 시퀀스의 길이 

text.rindex(pattern, start, end)

반환값 : 4

 

rfind()와 같은 기능을 한다.

rfind()와의 차이점은 index()와 마찬가지로 문자열을 발견하지 못하면 예외처리로 ValueError를 발생시킨다.

 

with 계열 함수

with계열 함수는 어떤 문자열이 다른 문자열의 시작이나 끝에 포함되어 있는지를 판단한다.

startswith()

text = 'yenana'
pattern = 'na'
start = 0  # 시작 인덱스
end = len(text) # 시퀀스의 길이 

text.startswith(pattern, start, end)

반환값 : False

 

문자열이 pattern으로 시작하면 True, 그렇지 않으면 False를 반환한다. start인덱스부터 end인덱스 사이에서 판단한다.

endswith()

text = 'yenana'
pattern = 'na'
start = 0  # 시작 인덱스
end = len(text) # 시퀀스의 길이 

text.endswith(pattern, start, end)

반환값 : True

 

문자열이 pattern으로 끝나면 True, 그렇지 않으면 False를 반환한다. start인덱스부터 end인덱스 사이에서 판단한다.

 

문자 코드를 다루는 파이썬 내장 함수

ord()

ord('a')

반환값 : 97

 

단일한 문자를 전달받아 그 문자의 유니코드unicode 코드 포인트를 정수로 반환한다.

 

char()

chr(97)

반환값 : 'a'

 

유니코드를 입력하면 해당하는 문자열을 반환한다.

 

반응형