>  기사  >  백엔드 개발  >  Python에서 하위 문자열의 N 번째 발생을 찾는 방법은 무엇입니까?

Python에서 하위 문자열의 N 번째 발생을 찾는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-20 07:29:02766검색

How to Find the Nth Occurrence of a Substring in Python?

Python에서 N번째 부분 문자열 찾기

문자열 내에서 N번째 부분 문자열 찾기는 다음의 다양한 방법을 통해 수행할 수 있습니다. 파이썬. 한 가지 간단한 접근 방식은 반복 접근 방식으로, 부분 문자열의 첫 번째 발생 위치를 찾고 이전 발생의 끝 이후 증분 검색을 통해 후속 발생을 찾습니다.

이 반복 접근 방식을 구현하려면 다음 코드를 사용할 수 있습니다. 사용됨:

<code class="python">def find_nth(haystack: str, needle: str, n: int) -> int:
    start = haystack.find(needle)
    while start >= 0 and n > 1:
        start = haystack.find(needle, start+len(needle))
        n -= 1
    return start</code>

이 함수는 haystack 문자열, needle 하위 문자열 및 n번째 항목을 검색합니다. 해당 항목에 해당하는 인덱스를 반환하거나 항목을 찾을 수 없는 경우 -1을 반환합니다.

이 접근 방식은 비교적 간단하며 n번째 항목의 위치를 ​​명확하게 이해할 수 있습니다. 그러나 n번째 항목이 문자열의 시작 부분에서 멀리 떨어져 있는 경우 문자열을 여러 번 통과해야 할 수도 있습니다.

예를 들어 문자열 "foofoofoofoo"에서 두 번째로 나타나는 "foofoo"를 찾으려면 다음 코드를 사용할 수 있습니다:

<code class="python">find_nth("foofoofoofoo", "foofoo", 2)</code>

이것은 문자열에서 두 번째로 나타나는 "foofoo"에 해당하는 인덱스 6을 반환합니다.

위 내용은 Python에서 하위 문자열의 N 번째 발생을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.