鉴于(un)有序列表,我必须检查是否使用了特殊的HTML箭头(并用Latex箭头替换它们)。 lxml.html是一项要求。
我正在修修补补,但后来无法超越以下内容:
import lxml.html
my_string = "<li>I have a dream → Hello!</li>"
elem = lxml.html.fromstring(my_string)
if "→" in my_string: # True
print("foo")
if "→" in elem.text: # False
print("bar")
我无法理解为什么第二个if-condition的计算结果为False。 如何检查(&amp;#8594;)“→”是否存在于elem.text?
答案 0 :(得分:1)
您需要搜索→
:
>>> s = u"→"
>>> s
u'\u2192'
>>> import lxml.html
>>>
>>> my_string = "<li>I have a dream → Hello!</li>"
>>> elem = lxml.html.fromstring(my_string)
>>>
>>> if u'\u2192' in elem.text:
... print("bar")
...
bar
答案 1 :(得分:1)
...如果你想要替换这个角色,请像这样输入“re”:
import re
re.sub(u'\u2192', '→', my_string)