2014-06-04 61 views
0

我想修改下面的一段代碼,以便用空格替換u2019和u2122,除了用空格替換逗號。我應該如何繼續?謝謝!Python 2.7.3 BeautifulSoup-從字符串中刪除u2019和u2122

if(link != None): 
    items.put([link.text,link['href']]) 
    f.write((link.text).encode("utf-8").replace(',','')+","+link['href'].encode("utf-8").split('&')[0]+newlinechar) 

回答

0

您需要使用replace多次像這樣:

f.write((link.text).encode("utf-8").replace(',','').replace(u"\u2019", '').replace(u"\u2122", '')+","+link['href'].encode("utf-8").split('&')[0]+newlinechar) 

這是低效然而,因爲一個新的String需要重新創建多次(字符串在Python是不可改變的)。因此,考慮使用正則表達式來匹配並替換所有3個掃描。

>>> import re 
>>> s = u"xdu\u2019sfs," 
>>> print s 
xdu’sfs, 
>>> print re.sub(u'[,\u2019\u2122]', '', s) 
xdusfs