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

使用正则表达式替换括号内的字符

使用正则表达式替换括号内的字符

交互式爱情 2021-12-26 10:37:40
我有一个像这样的字符串:str = "hello <abc123> python <is456> awesome"我想用其他一些字符替换括号内的字符。像上面的字符串应该给出:"hello lock python lock awesome "我试过类似的东西:ss = str.replace("\\<(.*?)\\>", 'lock')但这没有用。那么,我如何使用正则表达式来做到这一点?
查看完整描述

3 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

你可以做一个简单的regex 替换,比如,


>>> import re

>>> str = "hello <abc123> python <is456> awesome"

>>> re.sub(r'<.*?>', 'lock', str)

'hello lock python lock awesome'


查看完整回答
反对 回复 2021-12-26
?
波斯汪

TA贡献1811条经验 获得超4个赞

这样做(将后视/前瞻断言与 的非贪婪匹配相结合.):


before = "hello <abc123> python <is456> awesome"

after = re.sub(r'(?<=<).+?(?=>)', 'lock', before)

print(after)

输出:


hello <lock> python <lock> awesome

如果你不想要括号,那么re.sub(r'<.+?>', 'lock', before)应该没问题。


查看完整回答
反对 回复 2021-12-26
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

>>> import re

>>> s ="hello <abc123> python <is456> awesome"

>>> re.sub('<.*?>', 'lock', s)

'hello lock python lock awesome'


查看完整回答
反对 回复 2021-12-26
  • 3 回答
  • 0 关注
  • 315 浏览
慕课专栏
更多

添加回答

举报

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