将包含 (html)em-dash 的字符串转换为统一的统一形式?
converting a string which contains (html)em-dash to a unified unified form?
一个em-dash可以写成2种形式,
- 小数形式 —
- 十六进制形式 —
当它们被翻译成 html 格式(在浏览器中显示)时,它们会显示相同的这个 (—),一个破折号。
现在,当 em-dash 再次被翻译成 python 时,它会更改为 \u2014。
我的问题是给定一个字符串 —或 —, 有没有办法将它们都转换为 \u2014?
尝试ftfy。这是一个 python 库,用于修复 unicode 问题。
你需要的是一个html解析器
#!/bin/python
import HTMLParser
parser=HTMLParser.HTMLParser()
print(parser.unescape("—"))
结果
—
有人回答了我的问题,当我想把它标记为答案时,post好像被删除了。感谢原poster.
这是他 post编辑的答案:-
>>> import HTMLParser
>>> p = HTMLParser.HTMLParser()
>>> p.unescape(u'test8212 — aaa')
u'test8212 \u2014 aaa'
>>> p.unescape(u'test8212 — aaa')
u'test8212 \u2014 aaa'
一个em-dash可以写成2种形式,
- 小数形式 —
- 十六进制形式 —
当它们被翻译成 html 格式(在浏览器中显示)时,它们会显示相同的这个 (—),一个破折号。
现在,当 em-dash 再次被翻译成 python 时,它会更改为 \u2014。
我的问题是给定一个字符串 —或 —, 有没有办法将它们都转换为 \u2014?
尝试ftfy。这是一个 python 库,用于修复 unicode 问题。
你需要的是一个html解析器
#!/bin/python
import HTMLParser
parser=HTMLParser.HTMLParser()
print(parser.unescape("—"))
结果
—
有人回答了我的问题,当我想把它标记为答案时,post好像被删除了。感谢原poster.
这是他 post编辑的答案:-
>>> import HTMLParser
>>> p = HTMLParser.HTMLParser()
>>> p.unescape(u'test8212 — aaa')
u'test8212 \u2014 aaa'
>>> p.unescape(u'test8212 — aaa')
u'test8212 \u2014 aaa'