ホームページ >バックエンド開発 >Python チュートリアル >Python で部分文字列の n 番目の出現を見つけるにはどうすればよいですか?
Python で部分文字列の n 番目の出現を効率的に見つける
Python で部分文字列の n 番目の出現のインデックスを見つけることは、コーディング愛好家にとって一見簡単なタスクになります。これを最も Python 的な方法で実現するために、さまざまなアプローチを検討してみましょう。
重複しない出現を反復する方法
簡単で効率的なアプローチの 1 つは、出現を反復的に検索することです。 n 番目のものが見つかるまで:
<code class="python">def find_nth(haystack, needle, n): start = haystack.find(needle) while start >= 0 and n > 1: start = haystack.find(needle, start + len(needle)) n -= 1 return start</code>
この関数は干し草の山を反復処理し、n 番目の出現が見つかるまで開始インデックスを針の長さだけ増分します。
反復重複するオカレンスのメソッド
重複するオカレンスを考慮する必要がある場合は、反復アプローチを変更できます。
<code class="python">def find_nth_overlapping(haystack, needle, n): start = haystack.find(needle) while start >= 0 and n > 1: start = haystack.find(needle, start + 1) n -= 1 return start</code>
この関数は、針の長さの代わりに開始インデックスを 1 ずつ増分します。
どちらのメソッドも、単純さ、平坦性、読みやすさという Python の原則に準拠しているため、この問題に対する Python のソリューションに適しています。
以上がPython で部分文字列の n 番目の出現を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。