Я работаю над проектом с OCR в Spanish. Камера фиксирует разные кадры в строке текста. Текст текста содержит следующее:Как удалить недопустимые символы между несколькими строками в python?
Este texto, es una prueba del dispositivo lector para no videntes.
После некоторых операций я получаю строки так:
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."
Я хотел бы присоединиться к строке, так что я могу получить текст отсканированного линии в конечной строке так:
sf = "Este texto, es una prueba del dispositivo lector para no videntes."
для начала я попытался использовать SequenceMatcher
между двумя строками, но это не было эффективным:
# -*- 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:])
Результат содержит недопустимые символы, такие как |
или !
:
>>>Este texto, es una p!|prueba u.-
Между s2
и s3
:
>>>fste texto, es una |prueba u.-prueba del dispo‘
Etc. Я использую Python 2.7 на Windows 7.