Python:删除字符串中的字符串模式

时间:2017-10-22 22:30:02

标签: python regex

我在处理一些字符串时遇到困难。我的字符串看起来像"absed\".'\"xgtwa@aiuyr.com",但我知道如何将奇怪的模式\".'\"更改为.

我使用了这样的代码:

 s = re.sub(r'\".'\"', '.', s)

但它返回了SyntaxError: unexpected character after line continuation character

输出字符串应为"absed.xgtwa@aiuyr.com"。输入只是找到电子邮件地址。例如,对于文件中的一行(x),该行为To: absed.xgtwa@aiuyr.com,我的“输入”仅为x.split(":")[1]。 BTW,在其他文件中,它工作得很好。但有时它会发生这样的问题。

任何帮助都会感激不尽!

2 个答案:

答案 0 :(得分:2)

您使用的是单引号's包含单个引号,该引号不是转义字符\'

s = re.sub(r'\".'\"', '.', s)更改为s = re.sub(r"\".'\"", ".", s)

import re

s = "absed\".'\"xgtwa@aiuyr.com"
print("Pre-regex:\ts = %s" % s)

s = re.sub(r"\".'\"", ".", s)
print("Post-regex:\ts = %s" % s)

这样输出变为:

Pre-regex:      s = absed".'"xgtwa@aiuyr.com
Post-regex:     s = absed.xgtwa@aiuyr.com

答案 1 :(得分:1)

它不是一个单行,但我相信它完成了工作。

s="absed\".'\"xgtwa@aiuyr.com"
s=s.replace('\"','')
s=s.replace("'",'')
s=s.replace('\"','')
print(s)

结果

absed.xgtwa@aiuyr.com