求一个算法:字符串中替换字符串

Cloud Flower 2019-11-08 03:00:05
将一个任意字符串中"abc"连续重复(注意是连续重复)两次以上的字串替换成abc:例如"abcaaebabcabcfdabcabcabc",经操作后,变成"abcaaebabcfdabc"。顺便问一下,这个能用正则匹配么,找了好久,网上用正则都是对字符匹配的,好像不能对字符串进行匹配。拓展,给定一个匹配字符串match_str,替换另一个字符串source_str中match_str连续重复两次以上的子串为match_str。
...全文
70 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jmzl 2019-11-08
  • 打赏
  • 举报
回复
s = "abcaaebabcabcfdabcabcabc" import re sx = "".join(re.split(r"(abc){2,}",s)) print(sx) #理论上re.sub可以直接替换的,但是我手机匹配不了,只能切割了,这个代码就可以实现你的功能了
jmzl 2019-11-08
  • 打赏
  • 举报
回复
s = "abcaaebabcabcfdabcabcabc" import re li =re.finditer("(abc){2,}",s) for i in li: print(i.span()) #匹配连续出现的abc出现次数达到两次及以上的下标

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧