替换字符串而不是字符Python的部分

我只是在学习正则表达式,并且试图弄清楚如何用字符串替换字符串中的字符集,而不是替换每个字符(到目前为止,我能做的所有事情)。


可以说我有一个称为原始字符串的字符串:


original_string = "(cats && dogs) || (cows && chickens)"

我想用字符串“ test”替换字符串中的每个单词。我想要的结果如下所示:


new_string = "(test && test) || (test && test)"

到目前为止,我的代码看起来像:


replacement = "test" 

original_string = "(cats && dogs) || (cows && chickens)"

new_string = re.sub(r'[^(,^),^&,^|]', replacement, original_string)

但这导致猫,狗,牛和鸡中的每个角色都被替换为“测试”。所以结果看起来像:


 (testtesttesttesttest&&testtesttesttesttest)test||test(testtesttesttesttest&&testtesttesttesttesttesttesttesttest)

如何使用正则表达式来获得所需的结果?


Helenr
浏览 182回答 1
1回答

跃然一笑

您可以使用更简单的正则表达式,例如:replacement = "test" original_string = "(cats && dogs) || (cows && chickens)"new_string = re.sub(r'[a-z]+', replacement, original_string)[a-z]+ 表示一个字母出现了1次以上。虽然,请尽可能保留原始正则表达式,我将使用以下代码:replacement = "test" original_string = "(cats && dogs) || (cows && chickens)"new_string = re.sub(r'[^()|& ]+', replacement, original_string)您无需重复^。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python