python replace string忽略换行

问题描述 投票:1回答:2

例如 ,

str="dddabc
d
e
xxxx
123
345"

,想用null替换"abcde"。新的str需要

"ddd
xxxx
123
345"

这样做的简单方法是什么?

如果我删除新行,新字符串将是dddxxxx123345,那是错误的

这需要在Linux上,所以它可能是\r\n

python string python-2.7 replace
2个回答
3
投票

使用正则表达式re.sub

返回通过替换repl替换字符串中最左边的非重叠模式而获得的字符串。如果未找到模式,则返回字符串不变。 repl可以是字符串或函数;如果它是一个字符串,则处理其中的任何反斜杠转义。

import re
st="""dddabc
d
e
xxxx
123
345
"""
rep="abcde"
print(re.sub(r'\n?'.join(rep),r'',st))

OUTPUT

ddd
xxxx
123
345

1
投票

使用正则表达式如下:

new_str = re.sub('a(\s)*b(\s)*c(\s)*d(\s)*e(\s)*', "", str)
© www.soinside.com 2019 - 2024. All rights reserved.