將一個任意字串中"abc"連續重復(注意是連續重復)兩次以上的字串替換成abc:例如"abcaaebabcabcfdabcabcabc",經操作后,變成"abcaaebabcfdabc"。順便問一下,這個能用正則匹配么,找了好久,網上用正則都是對字符匹配的,好像不能對字串進行匹配。拓展,給定一個匹配字串match_str,替換另一個字串source_str中match_str連續重復兩次以上的子串為match_str。
uj5u.com熱心網友回復:
s = "abcaaebabcabcfdabcabcabc"import re
li =re.finditer("(abc){2,}",s)
for i in li:
print(i.span())
#匹配連續出現的abc出現次數達到兩次及以上的下標
uj5u.com熱心網友回復:
s = "abcaaebabcabcfdabcabcabc"import re
sx = "".join(re.split(r"(abc){2,}",s))
print(sx)
#理論上re.sub可以直接替換的,但是我手機匹配不了,只能切割了,這個代碼就可以實作你的功能了
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/130413.html
下一篇:not defined
