如何从带有条件的文本中删除“\”

时间:2021-05-08 20:42:05

标签: python string

我有一个包含“\n”和“\r”的文本传递到下一行,只有“\”我应该删除 这是一个文本示例

text="here \n is \r an example\ of a text\ to test"

我试过这条线

text=text.replace("\\","")

但它删除了所有的“\”而我只想保留“\n”和“\r”

2 个答案:

答案 0 :(得分:3)

在您当前的字符串中,\r\n 是回车符和换行符,因此如果您使用 text=text.replace("\\",""),它将替换反斜杠,输出将是:

here 
 an example of a text to test

如果你想保持这样,你可以使用一个以 r" 开头的原始字符串,当后面没有直接跟 / 或 {{1} 时只替换 r } 使用负前瞻。

n

输出

import re

text = r"here \n is \r an example\ of a text\ to test"
print(text)
text = re.sub(r"\\(?![rn])", "", text)
print(text)

答案 1 :(得分:0)

您可以使用前瞻来解决这个问题:

text = re.sub("\\(?=[^nr]*)", "", text)