2013-06-10 11 views
6

sayısal karakter referansı notasyonu dönüştürme? Örneğinstandart Pythonic, tercihen uygun bir unicode dizeye <code>&#xxxx;</code> gösterimi dönüştürmek için bir yolu var mı unicode dize

,

&#1502;&#1508;&#1490;&#1513;&#1497; 

dönüştürülebilir olmalı:

מפגשי 

Yapılabilir - dize manipülasyonlar kullanarak, ancak standart bir kütüphane bunun için var acaba - oldukça kolay.

+0

İpucu: // tr: notasyonu [ "sayısal karakter referansı"] (https denir. wikipedia.org/wiki/Numeric_character_reference). –

+0

+1 @JoachimSauer, teşekkürler, başlığı güncellendi. –

+0

İlgili: http://stackoverflow.com/questions/3894564/replace-numeric-character-references-in-xml-document-using-python –

cevap

9

Kullanım HTMLParser.HTMLParser():

>>> from HTMLParser import HTMLParser 
>>> h = HTMLParser() 
>>> s = "&#1502;&#1508;&#1490;&#1513;&#1497;" 
>>> print h.unescape(s) 
מפגשי 

Çok, standard library bir parçası. Python 3 kullanıyorsanız


Ancak, html.parser Alınacak vardır:

>>> from html.parser import HTMLParser 
>>> h = HTMLParser() 
>>> s = '&#1502;&#1508;&#1490;&#1513;&#1497;' 
>>> print(h.unescape(s)) 
מפגשי 
+0

'unescape' dahili ve belgesiz görünüyor. "Resmi" bir yolu var mı? – georg

+0

@ thg435 Bildiğim kadarıyla, üzgünüm – TerryA

+0

Ben de bulamadım. Peki, bu çok kötü, değil mi? – georg

İlgili konular