Je travaille dans un projet avec OCR en Espagnol. La caméra capture différents cadres dans une ligne de texte. La ligne de texte contient ceci:Comment faire pour supprimer les caractères invalides entre plusieurs chaînes en python?
Este Texto, es una prueba del dispositivo lector para no Videntes.
Après quelques opérations je reçois des chaînes comme ça:
s1 = "Este texto, es una p!"
s2 = "fste texto, es una |prueba u.-"
s3 = "jo, es una prueba del dispo‘"
s4 = "prueba del dispositivo \ec"
s5 = "del dispositivo lector par:"
s6 = "positivo lector para no xndev"
s7 = "lector para no videntes"
s8 = "¡r para no videntes."
Je voudrais joindre la chaîne afin que je puisse obtenir le texte de la ligne balayée dans une chaîne finale comme ça:
sf = "Este texto, es una prueba del dispositivo lector para no videntes."
pour commencer, j'ai essayé d'utiliser SequenceMatcher
entre deux cordes, mais il n'a pas été efficace:
# -*- coding: utf-8 -*-
from difflib import SequenceMatcher as sq
s1 = "Este texto, es una p!"
s2 = "fste texto, es una prueba u.-"
match = sq(None, s1, s2).find_longest_match(0, len(s1), 0, len(s2))
print unicode(s1 + s2[match.b + match.size:])
Le résultat a des caractères non valides comme |
ou !
:
>>>Este texto, es una p!|prueba u.-
Entre s2
et s3
:
>>>fste texto, es una |prueba u.-prueba del dispo‘
Etc J'utilise Python 2.7 sous Windows 7.