Dans le domaine de la manipulation de chaînes, il est souvent nécessaire de comparer deux chaînes et d'extraire la section qui se chevauche. Cette tâche, connue sous le nom de recherche de la sous-chaîne commune, peut être réalisée en utilisant diverses approches.
Une solution puissante réside dans la bibliothèque Python difflib, en particulier sa fonction find_longest_match. Cette fonction identifie méticuleusement la sous-chaîne commune la plus longue entre les deux chaînes données.
<code class="python">from difflib import SequenceMatcher # Example 1 string1 = "apples" string2 = "appleses" match = SequenceMatcher(None, string1, string2).find_longest_match() common_substring = string1[match.a:match.a + match.size] # "apples" # Example 2 string1 = "apple pie available" string2 = "apple pies" match = SequenceMatcher(None, string1, string2).find_longest_match() common_substring = string1[match.a:match.a + match.size] # "apple pie" print(common_substring)</code>
Dans les anciennes versions de Python (antérieures à 3.9), la fonction find_longest_match nécessite des arguments supplémentaires :
<code class="python"># Python versions prior to 3.9 match = SequenceMatcher(None, string1, string2).\ find_longest_match(0, len(string1), 0, len(string2))</code>
En utilisant la bibliothèque difflib, nous avons accès à un ensemble robuste de fonctions de comparaison de séquences, permettant une extraction transparente de la sous-chaîne commune entre deux chaînes.
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!