Maison >développement back-end >Tutoriel Python >Comment trouver la sous-chaîne commune la plus longue dans deux chaînes avec Python ?
Trouver la sous-chaîne commune dans deux chaînes avec Python
En Python, comparer deux chaînes et extraire la sous-chaîne correspondante peut être réalisé sans effort en utilisant le Méthode find_longest_match du module difflib. Cette méthode, disponible depuis Python 3.9, renvoie la sous-chaîne commune la plus longue de deux séquences, y compris les chaînes.
<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>
Si vous utilisez des versions de Python antérieures à 3.9, vous pouvez appeler find_longest_match avec les arguments suivants :
<code class="python">SequenceMatcher(None, string1, string2).find_longest_match(0, len(string1), 0, len(string2))</code>
Dans les exemples fournis, les chaînes d'entrée ont des sous-chaînes qui se chevauchent (« tarte aux pommes »), qui sont extraites avec précision à l'aide de find_longest_match. Cette méthode polyvalente peut gérer des chaînes de longueurs et de complexité variables, ce qui en fait un outil précieux pour les tâches de comparaison de chaînes en Python.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!