Python:从字符串中删除<p>和</ p>的正确方法?

bco*_*not 3 python string

我想去掉<p>,并</p>从字符串(可以说s).

现在我这样做:

s.strip('"<p>""</p>"')
Run Code Online (Sandbox Code Playgroud)

我不确定我所做的是否正确,但这对我使用的大多数字符串都足够有效.

除此之外,我仍然得到以下字符串: Here goes..</p>

剥离还有其他有效的方法吗?它不需要快速或有效.我需要有效的东西才能完成工作.

测试用例

让我们说:
s="<p>Here goes..</p>"

执行必要的操作后s,print s应该给:
Here goes..

c08*_*089 11

如果您正在处理大量HTML/XML,您可能希望使用解析器轻松安全地操作它,而不是使用基本的字符串操作函数.我非常喜欢BeautifulSoup这种工作.它适用于无效标记,并且具有非常优雅的API.

在您的示例中,您可以像这样使用它:

>>> soup = BeautifulSoup('<p>hello world</p>')
>>> soup.text
u'hello world'
Run Code Online (Sandbox Code Playgroud)


bra*_*ers 7

假设您没有尝试清理XML/HTML,以下内容将起作用:

s = s.replace('<p>', '').replace('</p>', '') 
Run Code Online (Sandbox Code Playgroud)