2016-10-26 17 views
1

私はWebページ(codecademy.comのプロジェクト内)からHTMLコードを取り出しました。 フェッチするとテキストが発生しました。私はリストに分割しました。リストの文字列が区切り文字で表示されている場合に分割します。

問題:一部の結果には、表示される文字列から切り捨てたいUnicode文字が含まれています。

['Normal String', 'Company\xc2\xae', 'againnormal', '\xc2\xb7'] 

結果は次のようになります。正規表現を使用してこの

['Normal String', 'Company', 'againnormal'] 

答えて

5

代わりにどの程度

>>> stuff = ['Normal String', 'Company\xc2\xae', 'againnormal', '\xc2\xb7'] 
>>> filter(None, [x.decode('utf8').encode('ascii', 'ignore') for x in stuff]) 
['Normal String', 'Company', 'againnormal'] 

よう

['Normal String', 'Company', 'againnormal', ''] 

OR理想を

リストの内包表記なし
>>> import re 
>>> filter(None, [re.sub(r'[^\x00-\x7F]+', '', x) for x in stuff]) 
['Normal String', 'Company', 'againnormal'] 

keep = [] 
for item in stuff: 
    item = item.decode('utf8').encode('ascii', 'ignore') 
    if item: 
     keep.append(item) 
+1

おかげで、この迅速かつ絶対的な正解のためにたくさん! – mgruber

関連する問題