2013-06-10 43 views
6

Có một tiêu chuẩn, tốt nhất là Pythonic, cách để chuyển đổi ký hiệu &#xxxx; thành chuỗi unicode thích hợp không?Chuyển đổi ký hiệu tham chiếu ký tự số thành chuỗi unicode

Ví dụ,

מפגשי 

nên được chuyển đổi sang:

מפגשי 

Nó có thể được thực hiện - khá dễ dàng - sử dụng thao tác chuỗi, nhưng tôi tự hỏi, nếu có một thư viện chuẩn cho việc này.

+0

Gợi ý: đó là ký hiệu được gọi là [ "tài liệu tham khảo nhân vật số"] (https: // en. wikipedia.org/wiki/Numeric_character_reference). –

+0

+1 @JoachimSauer, cảm ơn, đã cập nhật tiêu đề. –

+0

Liên quan: http://stackoverflow.com/questions/3894564/replace-numeric-character-references-in-xml-document-using-python –

Trả lời

9

Sử dụng HTMLParser.HTMLParser():

>>> from HTMLParser import HTMLParser 
>>> h = HTMLParser() 
>>> s = "מפגשי" 
>>> print h.unescape(s) 
מפגשי 

Đó là một phần của standard library, quá.


Tuy nhiên, nếu bạn đang sử dụng Python 3, bạn phải nhập khẩu từ html.parser:

>>> from html.parser import HTMLParser 
>>> h = HTMLParser() 
>>> s = 'מפגשי' 
>>> print(h.unescape(s)) 
מפגשי 
+0

'unescape' dường như là nội bộ và không có giấy tờ. Có cách "chính thức" không? – georg

+0

@ thg435 Không phải là tôi biết, xin lỗi – TerryA

+0

Tôi cũng chưa tìm thấy. Vâng, điều này kinda sucks, phải không? – georg

Các vấn đề liên quan