산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> python

예제가 있는 Python 문자열 find() 메서드

파이썬 문자열 find()란 무엇입니까?

파이썬 문자열 찾기() 주어진 문자열에서 부분 문자열이 처음 나타나는 인덱스를 찾기 위해 Python 라이브러리에서 사용할 수 있는 함수입니다. 지정된 부분 문자열이 주어진 문자열에 없으면 문자열 find() 함수는 예외를 발생시키는 대신 -1을 반환합니다.

이 Python 문자열 find() 메서드 자습서에서는 다음을 배우게 됩니다.

파이썬 문자열 find()의 구문

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

string.find(substring,start,end)

find() 메소드의 매개변수

다음은 Python에서 String find() 함수의 세 가지 매개변수입니다.

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

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

이 예에서는 기본값을 사용하여 Python의 find() 메서드를 사용합니다.

find() 메서드는 하위 문자열을 검색하고 하위 문자열이 처음 나타나는 위치를 제공합니다. 이제 하위 문자열이 주어진 문자열에 여러 번 존재하더라도 여전히 첫 번째 문자열의 인덱스 또는 위치를 반환합니다.

예:

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

출력:

The position of Tutorials is at: 12

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

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

예제에서는 시작 위치를 15로 지정하고 Python 메서드의 find()는 위치 15에서 검색을 시작합니다. 여기서 끝 위치는 문자열의 길이가 되며 15개 위치에서 문자열 끝까지 검색합니다. 계속.

예:

mystring = "Meet Guru99 Tutorials Site.Best 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.Best 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()가 부분 문자열이 처음 나타나는 인덱스를 찾는 데 도움이 된다는 것을 알고 있습니다. 지정된 문자열에 하위 문자열이 없으면 -1을 반환합니다. 아래의 예는 문자열이 존재할 때 인덱스를 보여주고 찾고 있는 부분 문자열을 찾지 못할 때 -1을 보여줍니다.

예:

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

출력:

The position of Best site is at: 27
The position of Guru99 is at: -1

파이썬 문자열 rfind()

파이썬 함수 rfind()는 find() 함수와 비슷하지만 유일한 차이점은 rfind()가 주어진 부분 문자열에 대해 가장 높은 인덱스를 제공하고 find()가 가장 낮은 즉, 첫 번째 인덱스를 제공한다는 것입니다. rfind()와 find()는 하위 문자열이 없으면 -1을 반환합니다.

아래 예제에는 "Meet Guru99 Tutorials Site. 파이썬 튜토리얼을 위한 최고의 사이트!” find() 및 rfind()를 사용하여 하위 문자열 Tutorials의 위치를 ​​찾으려고 시도합니다. 문자열에서 Tutorials의 발생은 두 번입니다.

다음은 find()와 rfind()를 모두 사용한 예입니다.

mystring = "Meet Guru99 Tutorials Site.Best 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의 마지막 인덱스를 제공함을 보여줍니다.

파이썬 문자열 인덱스()

파이썬 문자열 index()는 find()처럼 주어진 부분 문자열의 위치를 ​​알려주는 함수입니다. 둘 사이의 유일한 차이점은 하위 문자열이 문자열에 없으면 index()가 예외를 throw하고 find()가 -1을 반환한다는 것입니다.

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

mystring = "Meet Guru99 Tutorials Site.Best 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.Best 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() 함수를 사용할 것입니다. 0에서 문자열 끝까지 for 루프를 사용하여 문자열을 반복합니다. find()에 startIndex 매개변수를 사용합니다.

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

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

다음은 작업 예입니다.

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

요약


python

  1. Java의 String Length() 메서드:예제로 찾는 방법
  2. EXAMPLE이 있는 Python String strip() 함수
  3. 예제가 있는 Python 문자열 count()
  4. Python String format() 예제로 설명
  5. 파이썬 문자열 길이 | len() 메서드 예제
  6. 예제가 있는 Python Lambda 함수
  7. 예제가 있는 Python round() 함수
  8. 예제가 있는 Python map() 함수
  9. 예제가 있는 Python Timeit()
  10. 예제가 있는 Python의 type() 및 isinstance()