2016-11-05 4 views
0

私のリストからすべての句読記号を削除したいのですが、これはユニコードのテキストです。表示されているようにコードを実行すると、リストには何の影響もありませんでした。シンボルはリストから削除されていません。構文エラーは表示されませんでしたが。テキストはグジャラト語に書かれています。リストから数字を削除しました。Python 3でregexを使ってUnicodeテキストのリストからすべての句読記号を削除するにはどうすればいいですか?

.... 
.... 
filtered_words = [word for word in words if not re.search(r"[\P]+",word)] 
.... 

答えて

0

ここでは正規表現を使用する必要はありません。

あなたはこのようなstring.translateを使用することができます。

filtered_words == [word for word in words if word == word.translate(None, string.punctuation)] 

使用その後、正規表現を使用する必要がある場合:

filtered_words == [word for word in words if not re.search(ur'[^\w\s]', word)] 

Check this Q&A or Unicode Punctuation detection

関連する問題