Python 예제가 포함된 문자열 find() 메서드

Python 문자열 찾기()?

Python 문자열 찾기() 에서 사용할 수 있는 기능입니다. Python 주어진 문자열에서 하위 문자열의 첫 번째 발생 인덱스를 찾는 라이브러리입니다. 문자열 find() 함수는 지정된 하위 문자열이 주어진 문자열에 없는 경우 예외를 throw하는 대신 -1을 반환합니다.

구문 Python 문자열 찾기()

기본 구문 Python find() 함수는 다음과 같습니다.

string.find(substring,start,end)

find() 메소드의 매개변수

여기에는 String find() 함수의 세 가지 매개변수가 있습니다. Python:

  • 부분 문자열: 주어진 문자열에서 검색하려는 하위 문자열입니다.
  • 스타트: (선택 사항) 하위 문자열 검색이 시작되는 시작 값입니다. 기본적으로 0입니다.
  • end: (선택 사항) 하위 문자열 검색이 끝나는 끝 값입니다. 기본적으로 값은 문자열의 길이입니다.

기본값이 있는 find() 메소드의 예

전달된 매개변수 Python find() 메소드는 하위 문자열, 즉 검색하고 시작하고 끝내려는 문자열입니다. 시작 값은 기본적으로 0이고 끝 값은 문자열의 길이입니다.

이 예에서는 find() 메소드를 사용합니다. Python 기본값으로.

find() 메소드는 부분 문자열을 검색하고 부분 문자열이 처음 나타나는 위치를 제공합니다. 이제 하위 문자열이 주어진 문자열에 여러 번 존재하는 경우 여전히 첫 번째 문자열의 색인이나 위치를 반환합니다.

예:

mystring = "Meet Guru99 Tutorials Site.최고의 site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials"))

출력:

The position of Tutorials is at: 12

시작 인수를 사용하는 find()의 예

주어진 문자열에서 하위 문자열을 검색하고 검색이 시작되는 시작 위치를 지정할 수 있습니다. 시작 매개변수를 동일한 용도로 사용할 수 있습니다.

이 예에서는 시작 위치를 15로 지정하고 find()는 Python 메소드는 15번째 위치부터 검색을 시작합니다. 여기서 종료 위치는 문자열의 길이가 되며 15번째 위치부터 문자열의 끝까지 검색합니다.

예:

mystring = "Meet Guru99 Tutorials Site.최고의 site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials", 20))

출력:

The position of Tutorials is at 48

시작 및 끝 인수를 사용하는 find()의 예

시작 및 종료 매개변수를 사용하여 전체 문자열을 검색하는 대신 검색 범위를 제한해 보겠습니다.

예:

mystring = "Meet Guru99 Tutorials Site.최고의 site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))

출력:

The position of Tutorials is at 12

find() 메소드의 예 문자열에서 주어진 하위 문자열의 위치를 ​​찾으려면

find()는 substring의 첫 번째 발생 인덱스를 찾는 데 도움이 된다는 것을 알고 있습니다. 주어진 문자열에 substring이 없으면 -1을 반환합니다. 아래 예는 문자열이 있을 때의 인덱스와 찾고 있는 substring을 찾을 수 없을 때의 -1을 보여줍니다.

예:

mystring = "Meet Guru99 Tutorials Site.최고의 site for Python Tutorials!"
print("The position of 최고의 site is at:", mystring.find("최고의 site", 5, 40))
print("The position of Guru99 is at:", mystring.find("Guru99", 20))

출력:

The position of 최고의 site is at: 27
The position of Guru99 is at: -1

Python 문자열 찾기()

The Python 함수 rfind()는 find() 함수와 유사하지만 유일한 차이점은 rfind()가 주어진 하위 문자열에 대해 가장 높은 인덱스를 제공하고 find()가 가장 낮은 인덱스, 즉 맨 처음 인덱스를 제공한다는 것입니다. rfind()와 find()는 하위 문자열이 없으면 -1을 반환합니다.

아래 예에서 우리는 "Meet Guru99 Tutorials Site. Best site for"라는 문자열을 가지고 있습니다. Python 튜토리얼!” find()와 rfind()를 사용하여 하위 문자열 Tutorials의 위치를 ​​찾으려고 시도합니다. 문자열에서 Tutorials의 발생 횟수는 두 번입니다.

다음은 find()와 rfind()가 모두 사용되는 예입니다.

mystring = "Meet Guru99 Tutorials Site.최고의 site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("Tutorials"))
print("The position of Tutorials using rfind() : ", mystring.rfind("Tutorials"))

출력:

The position of Tutorials using find() :  12
The position of Tutorials using rfind() :  48

출력은 find()가 가져온 첫 번째 Tutorials 하위 문자열의 인덱스를 제공하고 rfind()가 Tutorials 하위 문자열의 마지막 인덱스를 제공한다는 것을 보여줍니다.

Python 문자열 인덱스()

The Python string index()는 find()처럼 주어진 하위 문자열의 위치를 ​​알려주는 함수입니다. 둘 사이의 유일한 차이점은 하위 문자열이 문자열에 없으면 index()는 예외를 발생시키고 find()는 -1을 반환한다는 것입니다.

다음은 index() 및 find()의 동작을 보여주는 실제 예제입니다.

mystring = "Meet Guru99 Tutorials Site.최고의 site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("Tutorials"))
print("The position of Tutorials using index() : ", mystring.index("Tutorials"))

출력:

The position of Tutorials using find() :  12
The position of Tutorials using index() :  12

find()와 index() 모두에 대해 동일한 위치를 얻습니다. 주어진 하위 문자열이 문자열에 존재하지 않는 경우의 예를 살펴보겠습니다.

mystring = "Meet Guru99 Tutorials Site.최고의 site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("test"))
print("The position of Tutorials using index() : ", mystring.index("test"))

출력:

The position of Tutorials using find() :  -1
Traceback (most recent call last):
  File "task1.py", line 3, in <module>
    print("The position of Tutorials using index() : ", mystring.index("test"))
ValueError: substring not found

위의 예에서는 하위 문자열 "test"의 위치를 ​​찾으려고 합니다. 해당 문자열에 하위 문자열이 없으므로 find()를 사용하면 위치가 -1로 표시되지만 index()의 경우 위와 같이 오류가 발생합니다.

하위 문자열의 전체 발생을 찾으려면

주어진 문자열에서 하위 문자열이 발생한 총 횟수를 찾으려면 find() 함수를 사용합니다. Python. for-loop를 사용하여 0부터 문자열 끝까지 문자열을 반복합니다. find()에 대해 startIndex 매개변수를 사용합니다.

startIndex 및 count 변수는 0으로 초기화됩니다. for –loop 내부에서는 find() 및 startIndex를 0으로 사용하여 주어진 문자열 내에 하위 문자열이 있는지 확인합니다.

-1이 아닌 경우 find()에서 반환된 값은 startIndex를 문자열이 있는 인덱스로 업데이트하고 count 값도 증가시킵니다.

다음은 작업 예입니다.

my_string = "test string test, test string testing, test string test string"
startIndex = 0
count = 0
for i in range(len(my_string)):
    k = my_string.find('test', startIndex)
    if(k != -1):
        startIndex = k+1
        count += 1
        k = 0
print("The total count of substring test is: ", count )

출력:

The total count of substring test is:  6

요약

  • The Python string find() 메소드는 주어진 문자열에서 부분 문자열이 처음 나타나는 인덱스를 찾는 데 도움이 됩니다. 하위 문자열이 없으면 -1을 반환합니다.
  • 전달된 매개변수 Python 하위 문자열 찾기 방법은 하위 문자열, 즉 검색하고 시작하고 끝내려는 문자열입니다. 시작 값은 기본적으로 0이고 끝 값은 문자열의 길이입니다.
  • 주어진 문자열에서 하위 문자열을 검색하고 검색이 시작되는 시작 위치를 지정할 수 있습니다. 시작 매개변수를 동일한 용도로 사용할 수 있습니다.
  • 시작 및 종료 매개변수를 사용하여 전체 문자열을 검색하는 대신 검색 범위를 제한해 보겠습니다.
  • The Python 기능 rfind()는 find() 함수와 유사하지만 유일한 차이점은 rfind()가 주어진 하위 문자열에 대해 가장 높은 인덱스를 제공하고 find()가 가장 낮은 인덱스, 즉 맨 처음 인덱스를 제공한다는 것입니다. rfind()와 find()는 하위 문자열이 없으면 -1을 반환합니다.
  • The Python string index()는 find()처럼 주어진 하위 문자열의 위치를 ​​알려주는 또 다른 함수입니다. 둘 사이의 유일한 차이점은 하위 문자열이 문자열에 없으면 index()는 예외를 발생시키고 find()는 -1을 반환한다는 것입니다.
  • find()를 사용하여 주어진 문자열에서 하위 문자열이 총 발생하는 횟수를 찾을 수 있습니다.

» 자세히 알아보기 Python 문자열 분할()