在Python中解析格式不正确的字符串

0 投票
2 回答
659 浏览
提问于 2025-04-17 06:14

可能是重复的问题:
在Python字符串中解码HTML实体?

我在Python中有一个格式不正确的字符串:

Muhammad Ali's fight with Larry Holmes

其中 ' 是一个撇号。

首先,这个 ' 是什么表示法?其次,我该如何在Python中解析这个字符串,把 ' 替换成 ' 呢?

2 个回答

1

&#CHAR-CODE; 是一种在 HTML 中表示特殊字符的写法(可能在其他地方也能用,但我不太确定)。虽然可能有更完整的方法来实现这个功能,但你可以简单地用以下方式替换它:

mystring = "Muhammad Ali's fight with Larry Holmes"
print mystring.replace("'", "'")

结果是:

穆罕默德·阿里与拉里·霍尔姆斯的比赛

5

Python标准库中的HTMLParser可以解码字符串中的HTML实体。

>>> import HTMLParser
>>> h = HTMLParser.HTMLParser()
>>> s = h.unescape('© 2010')
>>> s
u'\xa9 2010'
>>> print s
© 2010
>>> s = h.unescape('© 2010')
>>> s
u'\xa9 2010'

这里描述了一系列解决方案:http://fredericiana.com/2010/10/08/decoding-html-entities-to-text-in-python/

撰写回答