我有一个包含urdu字的文本文件。我必须删除它的副本。为此,需要对这些单词进行排序。在英语中,它不是问题,但当我跟随urdu时,它就成了一个问题(错误)。对于测试用例,假设我的文本文件包含浮动单词(为简单起见,每行中有一个单词)
جنگ
بندی
اس
کروانا
سات
اس
سات
以下是代码和错误。
[example@localhost compare]$ ./get_urdu_words.py |sort
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
这里get_urdu_words.py是一个从urdu / English mix文件中提取urdu单词的脚本,sort是bash命令。
这是get_urdu_words.py
的代码import re
test=u"جنگ بندی اس کروانا سات اس سات"
token=test.split(' ')
for w in token:
status=re.search(ur'[\u0600-\u06ff]+',w)
if status:
print w
此问题仅适用于乌尔都语语言
答案 0 :(得分:1)
稍作修改即可解决您的问题。试试这个
import re
test=u"جنگ بندی اس کروانا سات اس سات"
token=test.split(' ')
for w in token:
status=re.search(ur'[\u0600-\u06ff]+',w)
if status:
print w.encode('utf-8')
运行此命令后
[example@localhost compare]$ ./get_urdu_words.py |sort