예제가 있는 Python 문자열 find() 메서드
파이썬 문자열 find()란 무엇입니까?
파이썬 문자열 찾기() 주어진 문자열에서 부분 문자열이 처음 나타나는 인덱스를 찾기 위해 Python 라이브러리에서 사용할 수 있는 함수입니다. 문자열 find() 함수는 지정된 하위 문자열이 지정된 문자열에 없으면 예외를 throw하는 대신 -1을 반환합니다.
이 Python 문자열 find() 메서드 자습서에서는 다음을 배우게 됩니다.
파이썬 문자열 find()의 구문
Python find() 함수의 기본 구문은 다음과 같습니다.
string.find(substring,start,end)
find() 메서드의 매개변수
다음은 Python에서 String find() 함수의 세 가지 매개변수입니다.
- 부분 문자열: 주어진 문자열에서 찾고자 하는 부분 문자열.
- 시작: (선택 사항) 부분 문자열 검색이 시작되는 시작 값입니다. 기본적으로 0입니다.
- 끝: (선택 사항) 부분 문자열 검색이 끝나는 끝 값입니다. 기본적으로 값은 문자열의 길이입니다.
기본값이 있는 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()
Python 함수 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
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 문자열 find() 메서드는 주어진 문자열에서 하위 문자열이 처음 나타나는 인덱스를 찾는 데 도움이 됩니다. 하위 문자열이 없으면 -1을 반환합니다.
- Python find substring 메소드에 전달된 매개변수는 substring, 즉 검색하려는 문자열, 시작 및 종료입니다. 시작 값은 기본적으로 0이고 끝 값은 문자열의 길이입니다.
- 주어진 문자열에서 부분 문자열을 검색하고 검색이 시작되는 시작 위치를 지정할 수 있습니다. 시작 매개변수는 동일하게 사용할 수 있습니다.
- 시작 및 종료 매개변수를 사용하여 전체 문자열을 검색하는 대신 검색을 제한하려고 합니다.
- Python 함수 rfind()는 find() 함수와 유사하지만 rfind()는 주어진 부분 문자열에 대해 가장 높은 인덱스를 제공하고 find()는 가장 낮은 즉, 첫 번째 인덱스를 제공한다는 점만 다릅니다. 하위 문자열이 없으면 rfind() 및 find() 모두 -1을 반환합니다.
- 파이썬 문자열 index()는 find()처럼 주어진 부분 문자열의 위치를 알려주는 또 다른 함수입니다. 둘의 유일한 차이점은 하위 문자열이 문자열에 없으면 index()가 예외를 throw하고 find()가 -1을 반환한다는 것입니다.
- find()를 사용하여 주어진 문자열에서 부분 문자열의 총 발생 횟수를 찾을 수 있습니다.
» Python 문자열 split()에 대해 자세히 알아보기
'Coding' 카테고리의 다른 글
보잉: 새로운 CEO를 위한 준비 (0) | 2022.03.31 |
---|---|
세 번째 변수를 사용하지 않고 두 숫자 바꾸기: C, Python 프로그램 (0) | 2022.03.30 |
파이썬(Python)에서 CSV 파일을 읽는 방법 (0) | 2022.03.28 |
Selenium IDE를 Scripts & Commands와 함께 사용하는 방법(Assert, Verify) (0) | 2022.03.27 |
부유한 발명가 돈 (0) | 2022.03.25 |
댓글