The*_*rse 3 python string function python-3.x
我正在尝试创建一个将采用"压缩"字符串的函数
'a12b3c'
Run Code Online (Sandbox Code Playgroud)
并返回其"扩展"形式,这个例子就是这样
'aaaaaaaaaaaabbbc'
Run Code Online (Sandbox Code Playgroud)
假设每个字符重复次数与下面的数字相同,或者如果字符后面没有数字则重复一次.
我已经能够创建一个函数,如果"压缩"字符串中的数字值只是一位数字,这将执行此操作,所以我的尝试适用于像
'a3b2c6'
Run Code Online (Sandbox Code Playgroud)
但我似乎无法找到一种方法来考虑数值超过一位数的情况.
使用正则表达式:
>>> import re
>>> compressed = "a12b3c"
>>> expanded = ""
>>> for char, count in re.findall(r'(\w)(\d+)?', compressed):
... count = int(count or 1)
... expanded += char*count
...
>>> expanded
'aaaaaaaaaaaabbbc'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
189 次 |
| 最近记录: |