2017-01-12 10 views
1

OCRのプロジェクトでスペイン語で働いています。カメラは1行のテキスト内の異なるフレームをキャプチャします。テキストの行には、次の情報が含まれています。Pythonで複数の文字列間で無効な文字を削除する方法は?

エステテキスト、エスペラント、プルーバデルディスポジティボレクターパラノーヴィデデス。

一部の操作は、私はそのような文字列を取得した後:

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 2間の文字列を使用しようとしたが、それは効果的ではなかった開始するには:

# -*- 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:]) 
s3

>>>Este texto, es una p!|prueba u.- 

結果は|または!などの無効な文字があり

>>>fste texto, es una |prueba u.-prueba del dispo‘ 

等あなたが使用する必要があります私は、Windows 7上

答えて

0

をのpython 2.7を使用しています正規表現 のようにする

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

\ Wは、任意の単語ではない文字を意味します。あなたはサイトでregexesについて詳しく読むことができます:https://docs.python.org/2/library/re.html

関連する問題