Как удалить недопустимые символы между несколькими строками в python?

Я работаю над проектом с OCR на испанском языке . Камера фиксирует разные кадры в строке текста. Строка текста содержит следующее:

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' 

И т. Д. Я использую python 2.7 для Windows 7.

    One Solution collect form web for “Как удалить недопустимые символы между несколькими строками в python?”

    Вы должны использовать регулярное выражение. Сделайте что-то вроде

     import re line = re.sub(r'\W', r'', line) 

    \ W означает любой символ слова. Вы можете больше узнать о регулярных выражениях на сайте: https://docs.python.org/2/library/re.html

    Python - лучший язык программирования в мире.