Maison >développement back-end >Tutoriel Python >Comment trouver la sous-chaîne commune la plus longue dans deux chaînes avec Python ?

Comment trouver la sous-chaîne commune la plus longue dans deux chaînes avec Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-28 12:12:02953parcourir

How to Find the Longest Common Substring in Two Strings with 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn