如何在python中一起替换字符串,换行符和空格

时间:2017-02-19 13:35:57

标签: python html

我有一个名为网页的长字符串包含这样的内容:

"<!--  \n    <div class=\"section_content\"> \n    </div>\n\n-->  "

我想用空格替换注释符号"<!--""-->"。 但是我不能直接替换它们,因为在长字符串中还有其他真正的注释,如"<!-- comments -->"

我正在尝试使用

re.sub(r"<!--\s+\n\s+<div",r"\n<div",webpage,flags=re.MULTILINE)

但它根本不起作用。有人可以帮忙吗? 结果应为"\n <div class=\"section_content\"> \n </div>\n\n"

1 个答案:

答案 0 :(得分:0)

这应该做:

import re

regex = r"<!--(\s*\n\s*<div[^>]*>\s*\n\s*</div>\n\n)-->"
string = "<!--  \n    <div class=\"section_content\"> \n    </div>\n\n-->  "
res = re.sub(regex, r"\1", string)
print res

结果:

"  \n    <div class=\"section_content\"> \n    </div>\n\n"

然后,如果您不想在字符串末尾添加换行符和空格,则可以使用字符串对象的.strip()方法。