将包含(html)emdash的字符串转换为统一的格式?

2024-10-01 17:23:41 发布

您现在位置:Python中文网/ 问答频道 /正文

一个em-dash可以写成两种形式

  • 小数形式&8212
  • 十六进制形式&x2014

当它们被翻译成html格式(在浏览器中显示)时,它们显示的是相同的this(-),一个em破折号。在

现在,当em破折号再次被翻译成python时,它将被更改为\u2014。在

我的问题是,给定一个字符串&;8212;或&;x2014;,有没有办法将它们都转换为\u2014?在


Tags: 字符串html格式浏览器this形式ampem
3条回答

你需要的是一个html解析器

#!/bin/python
import HTMLParser
parser=HTMLParser.HTMLParser()
print(parser.unescape("—"))

结果

^{pr2}$

试试ftfy。这是一个用于修复unicode问题的python库。在

有人回答了我的问题,当我想把它标记为答案时,这个帖子似乎已经被删除了。多亏了原来的海报。在

答案是他已发布:-在

>>> import HTMLParser
>>> p = HTMLParser.HTMLParser()

>>> p.unescape(u'test8212 — aaa')
u'test8212 \u2014 aaa'

>>> p.unescape(u'test8212 — aaa')
u'test8212 \u2014 aaa'

相关问题 更多 >

    热门问题