Python剪切字符串会导致错误

时间:2015-04-13 19:36:40

标签: python substring

我正在尝试将我的字符串从"<em class=\"txt\">"剪切为</em">

type = line[line.find("<em class=\"txt\">")+16:line.find(line.find("</em>"),line.find("<em class=\"txt\">"))]

这是错误:

TypeError: Can't convert 'int' object to str implicitly

我确定在此代码中添加int有问题。但是为什么要将int转换为str呢?我想将int添加到line.find()的结果中,所以也添加到int。它应该正常工作。

一般来说,我想实现这个目标:

输入

<em class="txt">blablabla</em>

输出

blablabla

2 个答案:

答案 0 :(得分:1)

你可以使用Beautiful Soup解析器。

>>> from bs4 import BeautifulSoup
>>> s = '<em class="txt">blablabla</em>'
>>> soup = BeautifulSoup(s)
>>> soup.select('em.txt')[0].text
'blablabla'

答案 1 :(得分:1)

line.find之后:的第一个参数是调用line.find()的结果,这会产生错误正在抱怨的int