我从网页上获取了一些数据并在python
中读取origional_doc = urllib2.urlopen(url).read()
有时这个网址包含é and ä and ect.
这样的字符,我怎么能从字符串中删除这些字符,现在这就是我正在尝试的,
import unicodedata
origional_doc = ''.join((c for c in unicodedata.normalize('NFD', origional_doc) if unicodedata.category(c) != 'Mn'))
但是我收到了错误
TypeError: must be unicode, not str
答案 0 :(得分:0)
这应该有效。它将消除所有不是ascii的字符。
original_doc = (original_doc.decode('unicode_escape').encode('ascii','ignore'))
答案 1 :(得分:-1)
使用re
,您可以将所有字符包含在某个十六进制ascii范围内。
>>> re.sub('[\x80-\xFF]','','é and ä and ect')
' and and ect'
您也可以执行反转和子任务,但不包括基本的128个字符:
>>> re.sub('[^\x00-\x7F]','','é and ä and ect')
' and and ect'