为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Helenr 2021-03-29 18:07:43
我只是在学习正则表达式,并且试图弄清楚如何用字符串替换字符串中的字符集,而不是替换每个字符(到目前为止,我能做的所有事情)。可以说我有一个称为原始字符串的字符串: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)如何使用正则表达式来获得所需的结果?
查看完整描述

1 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

您可以使用更简单的正则表达式,例如:


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)

您无需重复^。


查看完整回答
反对 回复 2021-04-01
  • 1 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信