string = 'ABCDEFGHIJLM'
我正在尝试使用
获得以下结果re.sub(SOME CODE HERE):
'ABC DEF GHI JLM'
有可能吗?
答案 0 :(得分:1)
只需匹配三个字母“(\ w \ w \ w)”并将它们替换为自己加上一个空格(“\ 1”):
'ABC DEF GHI JLM '
打印:
print re.sub(r'(\w\w\w)(?!$)', r'\1 ', 'ABCDEFGHIJLM')
为了摆脱尾随空格,你可以对“不结束字符串(?!$)”进行负面预测:
'ABC DEF GHI JLM'
打印:
group_size = 2
print re.sub(r'(\w{%d})(?!$)' % group_size, r'\1 ', 'ABCDEFGHIJLM')
如果要使组大小成为参数,可以在\ w之后将字母数指定为量词({n})以定义大小。 E.g:
'AB CD EF GH IJ LM'
打印:
<div>
<p class="myClass">
This is
<div>
<a href="#">random</a>
</div>
</p>
</div>
答案 1 :(得分:0)
以这种方式使用re findall
和join
:
s='ABCDEFGHIJLM'
n=3
pattern= '.'*n
' '.join(re.findall(pattern, s))
'ABC DEF GHI JLM'