em-dash可以用两种形式写成,
当它们被翻译成html格式(在浏览器中显示)时,它们显示相同的这个( - ),一个em-dash。
现在,当em-dash再次转换为python时,它会变为\ u2014。
我的问题,给出了一串—或—,有没有办法将它们转换为\ u2014?
答案 0 :(得分:1)
你需要的是一个HTML解析器
#!/bin/python
import HTMLParser
parser=HTMLParser.HTMLParser()
print(parser.unescape("—"))
结果
—
答案 1 :(得分:0)
试试ftfy。这是一个用于修复unicode问题的python库。
答案 2 :(得分:0)
有人回答了我的问题,当我想将其标记为答案时,帖子似乎已被删除。感谢原版海报。
以下是他发布的答案: -
>>> import HTMLParser
>>> p = HTMLParser.HTMLParser()
>>> p.unescape(u'test8212 — aaa')
u'test8212 \u2014 aaa'
>>> p.unescape(u'test8212 — aaa')
u'test8212 \u2014 aaa'