Python 예제가 포함된 문자열 find() 메서드
⚡ 스마트 요약
Python `string find()`는 문자열 내에서 특정 부분 문자열이 처음 나타나는 위치의 인덱스를 반환하는 내장 메서드입니다. 부분 문자열이 존재하지 않으면 예외를 발생시키지 않고 -1을 반환합니다.

Python 문자열 찾기()?
Python 문자열 찾기() 해당 기능은 다음에서 사용할 수 있습니다. Python 주어진 문자열에서 특정 부분 문자열이 처음 나타나는 위치의 인덱스를 찾는 라이브러리입니다. find() 함수는 지정된 부분 문자열이 문자열에 없을 경우 예외를 발생시키는 대신 -1을 반환합니다. Python가장 많이 사용되는 문자열 방법 텍스트를 찾기 위해서.
구문 Python 문자열 찾기()
의 기본 구문 Python find() 함수는 다음과 같습니다.
string.find(substring,start,end)
find() 메소드의 매개변수
다음은 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()의 예
주어진 문자열에서 부분 문자열을 검색하고 검색을 시작할 위치를 지정할 수 있습니다. 이를 위해 `start` 매개변수를 사용할 수 있습니다.
아래 예제는 시작 위치를 20으로 지정하고 find() 메서드를 호출합니다. Python 검색은 20번째 위치부터 시작됩니다. 여기서 끝 위치는 문자열의 길이이므로 20번째 위치부터 문자열의 끝까지 검색합니다.
예:
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() 함수는 문자열의 일부인 특정 문자열이 처음 나타나는 위치의 인덱스를 찾는 데 유용합니다. 만약 해당 문자열이 존재하지 않으면 -1을 반환합니다. 아래 예시는 특정 문자열이 존재할 때의 인덱스와, 존재하지 않을 때의 -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 튜토리얼 사이트. 최고의 사이트 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 `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() 함수를 사용합니다. Pythonfind() 함수의 startIndex 매개변수를 활용하여 0부터 문자열 끝까지 for 루프를 사용하여 문자열을 순회합니다.
변수 startIndex와 count는 0으로 초기화됩니다. for 루프 안에서 startIndex를 0으로 설정하고 find() 함수를 사용하여 주어진 문자열 안에 부분 문자열이 있는지 확인합니다.
find() 함수가 반환하는 값이 -1이 아니면, 해당 문자열이 발견된 인덱스로 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
» 자세히 알아보기 Python 문자열 분할()
