我试图抓取'</html>'
标记后的所有内容并将其删除,但我的代码似乎什么也没做。.replace()
不支持正则表达式吗?
z.write(article.replace('</html>.+', '</html>'))
发布于 2012-07-14 02:05:05
不是的。Python中的正则表达式由re
模块处理。
article = re.sub(r'(?is)</html>.+', '</html>', article)
一般而言:
text_after = re.sub(regex_search_term, regex_replacement, text_before)
发布于 2012-07-14 03:01:51
您可以将re
模块用于正则表达式,但是正则表达式可能无法满足您的需要。我可能会尝试这样的东西
z.write(article[:article.index("</html>") + 7]
这要干净得多,而且应该比基于正则表达式的解决方案快得多。
发布于 2017-06-25 04:08:10
对于这种特殊情况,如果使用re
模块有点过分,那么使用split
(或rsplit
)方法如何?
se='</html>'
z.write(article.split(se)[0]+se)
例如,
#!/usr/bin/python
article='''<html>Larala
Ponta Monta
</html>Kurimon
Waff Moff
'''
z=open('out.txt','w')
se='</html>'
z.write(article.split(se)[0]+se)
输出out.txt
为
<html>Larala
Ponta Monta
</html>
https://stackoverflow.com/questions/11475885
复制相似问题