문자열 파이썬에서 하위 문자열 찾기
str.find(substring)
, str.index(substring)
및 subtring in string.
찾다
find는 문자열에서 부분 문자열을 찾거나 검색하는 데 사용됩니다. 문자열 내에서 하위 문자열이 있는 문자열의 가장 낮은 인덱스를 반환합니다. find 메소드에 대한 부분 문자열이 발견되지 않으면 -1을 반환합니다.
다음 예를 사용하여 문장에서 단어를 찾아봅시다.
sentence="ayomide is in the kitchen"
findIs=sentence.find("is")
print(findIs) #return 8
findMid= sentence.find("mid")
print(findMid) #return 3
findWas=sentence.find("was")
print(findWas) # return -1
findAyo= sentence.find("ayo") #return 1
print(findAyo)
findIce= sentence.find('ice') #return -1
print(findIce)
위의 코드는 각각 8,3,-1,1 및 -1을 인쇄했는데, 이는 0에서 시작하여 단어 "is"를 처음 발견한 위치까지 각 문자(공백이 있는 문자) 8개를 반환하는 첫 번째 인쇄 기능을 의미합니다. FindMid는 "a-y-o"뒤에도 찾을 수 있기 때문에 3을 반환하고 findAyo는 문자 없이 "ayo"라는 단어가 발견되기 때문에 0을 반환합니다. 다른 사람들은 단어를 찾을 수 없다는 사실에 대해 부정적입니다.
따라서 위의 예에서 find()는 문자열에서 하위 문자열을 검색하고 발견되면 해당 위치를 반환하고 찾지 못하면 -1을 반환합니다.
인덱스 방법
find와 매우 유사한 또 다른 String 메소드는 Index 함수입니다. find와 같은 방식으로 사용되며, index와 find 메소드의 유일한 차이점은 하위 문자열을 찾을 수 없는 경우 해당 인덱스 반환 오류입니다. 다음 코드를 확인해 보겠습니다.
sentence="ayomide is in the kitchen"
indexIs=sentence.index("is")
print(indexIs) #return 8
indexMid= sentence.index("mid")
print(indexMid) #return 3
indexAyo= sentence.index("ayo") #return 1
print(indexAyo)
findWas=sentence.index("was")
print(indexWas) # return errror
indexIce= sentence.find('ice') #return error
print(indexIce)
보시다시피 각각은 find 메소드가 -1을 리턴하는 오류를 리턴한다는 점을 제외하고는 처음에 find 메소드가 수행한 것과 동일한 작업을 수행합니다.
방법에서
in method*는 찾기 및 인덱싱과 다르며 true 또는 false만 검색하고 반환합니다. 부분 문자열이 발견되면 true를 반환하고 그렇지 않으면 false를 반환합니다. In을 사용하려면 아래 공식과 같이 하위 문자열을 작성한 다음 in 다음에 문자열을 작성합니다.
문자열의 부분 문자열
다음 코드를 시도해 보겠습니다.
sentence = 'maxwizard is the programmer'
isThefound= 'the' in sentence #return true
print(isThefound)
isMaxwizFound='maxwiz' in sentence #return true
print(isMaxwizFound)
print('a' in 'aeiou') #return true
print('o' in 'aeiou') #return true
print('ao' in 'aeiou') #return false
#Note: ao is not there because “o” doesn’t follow “a” anywhere in “aeiou”
이제 세 가지 기능 모두에 대한 더 많은 예를 함께 해 보겠습니다.
alphabet="abcdefghijklmnoprstuvwxyz"
consonant="bcdfghjklmnpqrstvwxyz"
vowel ='aeiou'
searchE =consonant.find('e') #search the position of ‘e’ in the consonant
print(searchE) # return -1
indexAe=vowel.index('ae') #search the position of ‘ae’ in the vowel
print(indexAe) # return 0
isVowelThere= vowel in alphabet # check if ‘aeiou’ in alphabet
print(isVowelThere) #return false
#Note isVowel-there return false because “a-e-i-o-u” are not in that order in alphabet
print('love' in 'I love you') #return true
print('0' in '080898') #return true
마지막 예제를 시도해보자
telNumber='08035265643'
print('8' in telNumber)#return
print(telNumber.find('080'))# return 0
print(telNumber.index('643'))#return 8
print(telNumber.find('44'))#return -1
sentence = “maxwizard is the name of the writer”
isTitifound = ‘titi’ in sentence #retun false
print(isTitiFound)
간단히 말해서 찾기 및 색인은 부분 문자열의 위치를 찾는 반면 in은 부분 문자열이 실제로 문자열에 있는지 또는 거짓인지 확인하는 데 사용됩니다. find return -1 동안 하위 문자열을 찾지 못하면 인덱스 반환 오류가 발생합니다. 그래서 나는 당신을 위해 찾기를 추천했습니다. 코딩은 재미있다! 즐기다!
Reference
이 문제에 관하여(문자열 파이썬에서 하위 문자열 찾기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/maxwizardth/find-substring-in-string-python-1k9j텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)