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

使用python从字符串中查找和替换标记的单词?

使用python从字符串中查找和替换标记的单词?

汪汪一只猫 2022-08-02 18:30:54
我需要从段落中查找并替换一些标记的单词。str = "my name is [tag1]alan[/tag1] . i am a [tag2]python[/tag2] developer."tag1 和 tag2 是我需要查找的单词,并用另一个单词替换它们的中间内容。标记不受限制。它可能有超过10个。但每个标签都以相同的方式括起来,例如在方括号中,[tag][/tag]。我想要这样的结果,str = "my name is alan . i am a python developer."有没有办法使用正则表达式做到这一点?不使用美丽的soup。
查看完整描述

2 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

使用正则表达式。


前任:


import re


string = "my name is [tag1]alan[/tag1]. i am a [tag2]python[/tag2] developer."

print(re.sub(r"(\[.*?\])", "", string))

# --> my name is alan. i am a python developer.


查看完整回答
反对 回复 2022-08-02
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

您可以使用以下正则表达式:


import re


my_str = 'my name is [tag1]alan[/tag1]. i am a [tag2]python[/tag2] developer.'


re.sub(r'\[[/]*tag\d+?\]', '', my_str )

输出:


'my name is alan . i am a python developer.'

正则表达式说明:

  • \[= 开头为[

  • [/]*= 下一个字符可以是,也可以不是/

  • tag= 必须包含字符串tag

  • \d+?= 必须包含一个数字

  • \]= 结尾为]


查看完整回答
反对 回复 2022-08-02
  • 2 回答
  • 0 关注
  • 79 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号