我需要使用重复的字符拆分字符串。
例如:
我的字符串是" howhowhow"
我需要输出'如何,如何,如何'。
我无法使用'如何'直接在我的reg exp。因为我的输入有所不同我应检查字符串是否重复该字符并需要拆分该字符。
答案 0 :(得分:2)
import re
string = "howhowhow"
print(','.join(re.findall(re.search(r"(.+?)\1", string).group(1), string)))
<强>输出强>
howhowhow -> how,how,how
howhowhowhow -> how,how,how,how
testhowhowhow -> how,how,how # not clearly defined by OP
该模式非贪婪,因此howhowhowhow
不会映射到howhow,howhow
,这也是合法的。如果您更喜欢最长的匹配,请删除?
。
答案 1 :(得分:0)
lengthofRepeatedChar = 3
str1 = 'howhowhow'
HowmanyTimesRepeated = int(len(str1)/lengthofRepeatedChar)
((str1[:lengthofRepeatedChar]+',')*HowmanyTimesRepeated)[:-1]
'how,how,how'
作品当你知道重复字符的长度时
答案 2 :(得分:-1)
使用re:
re.findall("how", "howhowhowhow")
# ['how', 'how', 'how', 'how']
如果您有多次重复,可以使用re.split()
[x for x in re.split(r"(how)", "howhowhowhow", 2) if x != '']
# ['how', 'how', 'howhow']