Python: string \xa0?Kaldırma
Şu anda Güzel bir Çorba, bir HTML dosyası ve get_text()
, arama ayrıştırmak için kullanıyorum ama \xa0 Unicode boşluk temsil eden birçok sol davranıyorum gibi görünüyor. Verimli bir şekilde 2.7 ve boşluk haline Python hepsini kaldırmak var mı? Daha genel bir soru olurdu sanırım, Unicode biçimlendirme kaldırmak için bir yolu var mı?
Ben kullanarak çalıştı: başka bir iş parçacığı tarafından önerilen, ama u \xa0 bu yüzden bende artık bu değişti line = line.replace(u'\xa0',' ')
, "u"yerine her yerde. ):
EDİT: sorun str.replace(u'\xa0', ' ').encode('utf-8')
ama sadece replace()
daha da garip karakterler tükürmek için neden gibi görünüyor olmadan .encode('utf-8')
yaparak, \xc2 mesela çözülmüş görünüyor. Biri bunu açıklayabilir mi?
CEVAP
\xa0 aslında olmayan sonu alanı içinde Latin1 (ISO 8859-1) de > > (160). Bir boşluk ile değiştirmelisiniz.
string.replace(u'\xa0', u' ')
Ne zaman .('utf-8'), utf-8, unicode kodlama olacak her unicode 1 4 bayt ile temsil edilmesi anlamına gelir. kodlamak Bu durumda, \xa0 2 bayt ile temsil edilir xc2\xa0\.
http://docs.python.org/howto/unicode.html kadar okuyun.
Python katılın, neden dize.liste yerin...
Python string biçimlendirme: % vs .for...
Python string dönüştürme tamsayı?...
Hex string Python int dönüştürmek...
En zarif şekilde, string Python boş ol...