Python 如果字符串与格式匹配,则从字符串中删除整个文本块

Python 如果字符串与格式匹配,则从字符串中删除整个文本块,python,string,Python,String,在我的文本数据中,我对该格式的图像进行了基于文本的嵌入 x = "[cid:image001.jpg@01D67C81.30D4DBD0] [cid:image004.jpg@01D67C84.31D4DBD3] Regards, John" 我使用的是startswith方法,但没有用 text = ' '.join(x for x in s.split() if not x.startswith('[cid:')) 然后我用正则表达式 cid:(.*?)$(.*?)

在我的文本数据中,我对该格式的图像进行了基于文本的嵌入

x = "[cid:image001.jpg@01D67C81.30D4DBD0] [cid:image004.jpg@01D67C84.31D4DBD3] Regards, John" 
我使用的是startswith方法,但没有用

text = ' '.join(x for x in s.split() if not x.startswith('[cid:'))
然后我用正则表达式

cid:(.*?)$(.*?)
它匹配并分组为索引1,cid之后的所有内容: 我打算做的是,只作为约翰的问候,把它弄出去


因此,我试图在基于正则表达式的求反行中创建一些东西,条件是从“[cid:”开始直到第一个空格。

我编译代码时只将s.split()中x的
x更改为x.split()中x的
x
因为我不知道
s
是什么,它工作了。我甚至不需要使用你的正则表达式。它工作得很好,向输出的
致意,John

我编译的代码是:

x = "[cid:image001.jpg@01D67C81.30D4DBD0] [cid:image004.jpg@01D67C84.31D4DBD3] Regards, John" 
text = ' '.join(x for x in x.split() if not x.startswith('[cid:'))
print(text)

打印:
你好,John

我认为你的
开始时使用的代码应该是有效的。你期望得到什么结果,你得到了什么?
re.sub(r'\[cid:..\]','',x)
对不起,我没有用x删除s。