2024-10-01 19:31:28 发布
网友
我正在接收a3b4x2形式的字符串,需要对其进行解压缩以获得aaabbbbxx。如果数字是固定的,例如本例,则很容易解压缩。然而,输入可以是a1192x12的形式,需要解压缩以获得aaaaaaaaaaa99xxxxxxxxxxxx,或者是31142的形式获得3333333333344。最有效的方法是什么
a3b4x2
aaabbbbxx
a1192x12
aaaaaaaaaaa99xxxxxxxxxxxx
31142
3333333333344
如果你认为一个字母的出现数在一个或两个数字(不多), 可以使用以下正则表达式查找形式为lettre+number的对: r"(\w)(\d{1,2})"
r"(\w)(\d{1,2})"
以下是一个可能的解决方案:
import re samples = ["a3b4x2", "a1192x12", "31142"] for sample in samples: result = "" for couple in re.findall(r"(\w)(\d{1,2})", sample): letter, number = couple number = int(number) result += letter * number print(result)
你会得到:
aaabbbbxx aaaaaaaaaaa99xxxxxxxxxxxx 3333333333344
如果你认为一个字母的出现数在一个或两个数字(不多), 可以使用以下正则表达式查找形式为lettre+number的对:
r"(\w)(\d{1,2})"
以下是一个可能的解决方案:
你会得到:
相关问题 更多 >
编程相关推荐