Python

파이썬(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

Leave a Reply

error: Content is protected !!