Existe-t-il un bon moyen d'utiliser la distance levenstein pour faire correspondre une chaîne particulière à n'importe quelle région d'une seconde chaîne plus longue?Levenstein distance substring
Exemple:
str1='aaaaa'
str2='bbbbbbaabaabbbb'
if str1 in str2 with a distance < 2:
return True
Ainsi, dans la partie exemple ci-dessus de la chaîne 2 est aabaa
et distance(str1,str2) < 2
de sorte que la déclaration devrait revenir True
. La seule façon que je peux penser à faire ceci est de prendre 5 caractères de str2 à la fois, comparez cela avec str1, puis répétez cette opération en str2. Malheureusement, cela semble vraiment inefficace et j'ai besoin de traiter une grande quantité de données de cette façon.
https://pypi.python.org/pypi/python-Levenshtein/ –
la distance Levenstein pour seulement 5 longueur su bstrings de 'str2' ou tous (par exemple. à la fois les plus courts, 4 caractères et les plus longs, 6 caractères qui peuvent être à une distance de Levenstein de 1)? –
@ Mr.Xcoder C'était ma pensée, mais j'ai besoin de traiter chaque ligne de fichiers qui sont ~ 10 Go et je pense que ce sera assez lent. –