正規表現を利用
全角も含めた記号があるかを判定する
import re query = u"「明けましておめでとう。」" # 記号に関しては思いつくものを適当に上げました. # \マークは書かないと正規表現の一部として認識されてしまう. symbols = u"[.!?$%&_\-\[\]!?()「」、。『』]" # query,symbol共にUnicodeで入力 if re.search(symbols,query,re.U): print "found it" print re.sub(symbols,"",query,re.U)
出力は以下
found it 明けましておめでとう
全角の文字を比較するにはUnicodeに変換して比較。
utf-8のままではうまくいかない。
- 注意点
正規表現の検索文字列はUnicodeによる変換を指定してあげないとだめ。
さいごのre.UはUnicodeでやりますよという合図。