Home  >  Article  >  Backend Development  >  How to Find the Longest Common Substring in Two Strings with Python?

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

Linda Hamilton
Linda HamiltonOriginal
2024-10-28 12:12:02863browse

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

Finding the Common Substring in Two Strings with Python

In Python, comparing two strings and extracting the matching substring can be achieved effortlessly using the difflib module's find_longest_match method. This method, available since Python 3.9, returns the longest common substring of two sequences, including strings.

<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>

If you're using Python versions prior to 3.9, you can call find_longest_match with the following arguments:

<code class="python">SequenceMatcher(None, string1, string2).find_longest_match(0, len(string1), 0, len(string2))</code>

In the provided examples, the input strings have overlapping substrings ("apple pie"), which is accurately extracted using find_longest_match. This versatile method can handle strings of varying lengths and complexity, making it a valuable tool for string comparison tasks in Python.

The above is the detailed content of How to Find the Longest Common Substring in Two Strings with Python?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn