ホームページ >バックエンド開発 >Python チュートリアル >Python で 2 つの文字列の中で最も長い共通部分文字列を見つけるにはどうすればよいですか?
Python で 2 つの文字列の共通部分文字列を見つける
Python では、2 つの文字列を比較し、一致する部分文字列を抽出することは、 difflib モジュールの find_longest_match メソッド。このメソッドは Python 3.9 以降で利用可能で、文字列を含む 2 つのシーケンスの最も長い共通部分文字列を返します。
<code class="python">from difflib import SequenceMatcher string1 = "apple pie available" string2 = "apple pies" match = SequenceMatcher(None, string1, string2).find_longest_match() print(string1[match.a:match.a + match.size]) # "apple pie" print(string2[match.b:match.b + match.size]) # "apple pie"</code>
3.9 より前のバージョンの Python を使用している場合は、次の引数を指定して find_longest_match を呼び出すことができます。
<code class="python">SequenceMatcher(None, string1, string2).find_longest_match(0, len(string1), 0, len(string2))</code>
提供された例では、入力文字列には重複する部分文字列 (「apple pie」) があり、これは find_longest_match を使用して正確に抽出されます。この汎用性の高いメソッドは、さまざまな長さと複雑さの文字列を処理できるため、Python での文字列比較タスクにとって貴重なツールとなります。
以上がPython で 2 つの文字列の中で最も長い共通部分文字列を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。