python - Python 中相当基本的字符串扩展?

标签 python string function python-3.x

例如,我正在尝试创建一个函数,该函数将采用“压缩”字符串

'a12b3c'

并返回它的“扩展”形式,在这个例子中是

'aaaaaaaaaaaabbbc'

每个字符应该重复与后面的数字一样多的次数,或者如果字符后面没有数字则只重复一次。

如果“压缩”字符串中的数字值只是个位数,我已经能够创建一个函数来执行此操作,因此我的尝试适用于像这样的字符串

'a3b2c6'

但我似乎无法找到一种方法来考虑数字值超过一位数的情况。

最佳答案

使用正则表达式:

>>> 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'

关于python - Python 中相当基本的字符串扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35003123/

相关文章:

python - 关于OpenCV中reshape函数的困惑

python - 如何实现具有不同参数类型的Python函数

function - Scheme中函数的机制

python - pip3安装pyautogui,错误代码1

python - 模块导入错误 Python

Javascript 字符串对象只读?

JavaScript 用退格键连接字符串

java - Wicket 口 TextField 的奇怪行为

java - 对于两个相等的字符串,Equals() 不返回 true

function - PowerShell 模块设计 - Export-ModuleMember