파이썬(Python) 특정문자 문자열 찾는 방법 : find(), startswith(), endswith()
파이썬에서 문자열에서 특정 문자를 찾을 필요가 있을때, 특정문자로 시작하는 문자열과 특정문자로 끝나는 문자열에 대한 찾는 방법에 대해 알아봅니다. 내장함수인 find()함수를 사용하여 원하는 문자를 찾을 수 있습니다. 두번째는 내장함수인 startswith(), endswith() 함수를 사용하여 찾을 수 있습니다.
find()함수를 사용하는 방법
def find(self, sub, start=None, end=None): # real signature unknown; restored from __doc__ """ S.find(sub[, start[, end]]) -> int Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation. Return -1 on failure. """ return 0
find()함수에 첫번째 인자값은 찾을 문자, 두번째 인자값(start)은 찾기 시작할 위치를 지정합니다. 세번째 인자값(end)은 찾기 시작 종료 위치를 지정합니다. 두번째와 세번째 인자값은 생략가능합니다.
a = "삼성 갤럭시 노트21 무사히 나올까?, 삼성전자 갤럭시 노트 단종없다" print(a.find("무")) #실행결과 12 print(a.find("무", 19)) #실행결과 -1 print(a.find('삼', 19, 33)) #실행결과 22
startswith()함수를 사용하는 방법
startswith()함수는 문자열이 특정문자로 시작하는지 여부를 True와 False 값 중에 하나로 리턴합니다.
def startswith(self, prefix, start=None, end=None): # real signature unknown; restored from __doc__ """ S.startswith(prefix[, start[, end]]) -> bool Return True if S starts with the specified prefix, False otherwise. With optional start, test S beginning at that position. With optional end, stop comparing S at that position. prefix can also be a tuple of strings to try. """ return False
a = "삼성 갤럭시 노트21 무사히 나올까?, 삼성전자 갤럭시 노트 단종없다" print("문자열 총길이 :", len(a)) #문자열 총길이 : 38 print(a.startswith('삼', 19, 33)) #실행결과 False print(a.startswith('삼')) #실행결과 True print(a.startswith('삼'), a.find("무")) #실행결과 True 12
endswith() 함수를 사용하는 방법
endswith()함수는 문자열이 특정문자로 끝나는지 여부를 True와 False 값 중에 하나로 리턴합니다.
def endswith(self, suffix, start=None, end=None): # real signature unknown; restored from __doc__ """ S.endswith(suffix[, start[, end]]) -> bool Return True if S ends with the specified suffix, False otherwise. With optional start, test S beginning at that position. With optional end, stop comparing S at that position. suffix can also be a tuple of strings to try. """ return False
a = "삼성 갤럭시 노트21 무사히 나올까?, 삼성전자 갤럭시 노트 단종없다" print(a.endswith('다')) print(a.endswith('트'), 15) print(a.endswith('다'), 30, 38) #실행결과 True False 15 True 30 38
[REFERENCE]
docs.python.org/ko/3/library/stdtypes.html?highlight=find#str.find
docs.python.org/ko/3/library/stdtypes.html?highlight=startswith#str.startswith
docs.python.org/ko/3/library/stdtypes.html?highlight=endswith#str.endswith