我目前正在使用Beautiful Soup解析HTML文件并調(diào)用get_text(),但似乎我剩下很多\ xa0 Unicode表示空格。有沒有一種有效的方法可以在Python 2.7中將其全部刪除,并將其更改為空格?我想更籠統(tǒng)的問題是,有沒有辦法刪除Unicode格式?我嘗試使用:line = line.replace(u'\xa0',' '),如另一個線程所建議的那樣,但是將\ xa0更改為u,所以現(xiàn)在到處都是“ u”。):編輯:問題似乎已由解決str.replace(u'\xa0', ' ').encode('utf-8'),但.encode('utf-8')不這樣做replace()似乎會導(dǎo)致它吐出甚至更奇怪的字符,例如\ xc2。誰能解釋一下?
3 回答

繁星淼淼
TA貢獻(xiàn)1775條經(jīng)驗 獲得超11個贊
Python unicodedata庫中有許多有用的東西。功能之一就是.normalize()功能。
嘗試:
new_str = unicodedata.normalize("NFKD", unicode_str)
如果您沒有得到想要的結(jié)果,請使用上面鏈接中列出的任何其他方法替換NFKD。

Smart貓小萌
TA貢獻(xiàn)1911條經(jīng)驗 獲得超7個贊
我遇到了同樣的問題,使用python從sqlite3數(shù)據(jù)庫中提取了一些數(shù)據(jù)。上面的答案對我不起作用(不確定為什么),但是這樣做了:line = line.decode('ascii', 'ignore')但是,我的目標(biāo)是刪除\ xa0s,而不是用空格替換它們。
我是從Ned Batchelder的這個超級有用的unicode教程中獲得的。
添加回答
舉報
0/150
提交
取消