我正在使用
regexp_tokenize()
从一段阿拉伯文本中返回没有任何标点符号的单词。import re,string,sys
from nltk.tokenize import regexp_tokenize
def PreProcess_text(Input):
tokens=regexp_tokenize(Input, r'[،؟!.؛]\s*', gaps=True)
return tokens
H = raw_input('H:')
Cleand= PreProcess_text(H)
print '\n'.join(Cleand)
它运行得很好,但问题是当我尝试打印文本时。
文本ايمان،سعد
的输出:
?يم
?ن
?
?
?
但如果文字是英文的,即使有阿拉伯标点符号,它也会正确打印出结果。
对于文本hi،eman
的输出:
hi
eman
ايمان،سعد
,我得到的是ايمان
和سعد
。 - Wiktor Stribiżew@
+用户名来通知用户您的反馈。我建议使用u
前缀:ur'[\u060C\u061F!.\u061B]\s*'
,不要传递只有H
- 尝试使用unicode(H, "utf-8")
或者H.decode('utf8')
。 - Wiktor Stribiżew