擅长:python、mysql、java
<p>假设格式总是一个字母后跟一个整数,最后一个整数可能丢失:</p>
<pre><code>>>> from itertools import izip_longest
>>> s = 'A3G3A'
>>> ''.join(c*int(i) for c, i in izip_longest(*[iter(s)]*2, fillvalue=1))
'AAAGGGA'
</code></pre>
<p>假设格式可以是后跟整数的任何子字符串,整数可能超过一位,最后一个整数可能丢失:</p>
<pre><code>>>> from itertools import izip_longest
>>> import re
>>> s = 'AB10GY3ABC'
>>> sp = re.split('(\d+)', s)
>>> ''.join(c*int(i) for c, i in izip_longest(*[iter(sp)]*2, fillvalue=1))
'ABABABABABABABABABABGYGYGYABC'
</code></pre>