ホームページ  >  記事  >  バックエンド開発  >  Python で 2 つの文字列の中で最も長い共通部分文字列を見つけるにはどうすればよいですか?

Python で 2 つの文字列の中で最も長い共通部分文字列を見つけるにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-28 12:12:02870ブラウズ

How to Find the Longest Common Substring in Two Strings with Python?

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。