python regex-在保留['word']的同时删除'word'

时间:2018-12-18 07:17:15

标签: python regex

我想删除Opportunity,同时保留“ [机会]”。

Winery Tailspin Electonic Opportunity   [Opportunity].[Opportunity Name]

我该怎么做?

2 个答案:

答案 0 :(得分:1)

如果count参数始终出现在“ [word]”之前,则可以在以下re.sub中使用count参数。

    re.sub('Opportunity','',string,count = 1)

答案 1 :(得分:1)

我不确定[商机名称]位是什么,但是下面的行将删除所有与[或]不相邻的商机:

re.sub('([^\[])(Opportunity)([^\]])','\g<1>\g<3>',string)

此代码在正则表达式中使用分组并以以下形式匹配字符串 (与[]不同的任何字符(机会)(与]不同的任何字符) 然后替换为第一组和第三组,即相邻字符。 使用您的示例将有效

Winery Tailspin Electonic [Opportunity].[Opportunity Name]

但是请注意,只有当机会不是第一位也不是最后一个时,此解决方案才有效。您的情况是否如此?