Home >Backend Development >Python Tutorial >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!