Python で部分文字列の n 番目の出現を見つけるにはどうすればよいですか?

Linda Hamilton
リリース: 2024-10-20 07:23:29
オリジナル
552 人が閲覧しました

How Can I Find the nth Occurrence of a Substring in Python?

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 サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!