繁体   English   中英

如何仅为 Python 中的特定数字字符重新格式化字母数字字符串?

[英]How to reformat an alphanumeric string only for a specific numeric character in Python?

我有

var = bRes[8] bRes[9] bRes[10] bRes[11] bRes[12]

variable = re.sub(r'[0-9]+', r'[0\g<0>]', vari)

我正进入(状态

变量 = bRes[08] bRes[09] bRes[010] bRes[011] bRes[012]

但我想拥有

变量 = bRes[08] bRes[09] bRes[10] bRes[11] bRes[12]

有什么建议吗?

您可以使用

import re
vari = 'bRes[8] bRes[9] bRes[10] bRes[11] bRes[12]'
print(re.sub(r'\[([0-9]+)]', lambda x: "[{}]".format(x.group(1).zfill(2)), vari))
# => bRes[08] bRes[09] bRes[10] bRes[11] bRes[12]

请参阅Python 演示

\\[([0-9]+)]模式匹配[ ,然后将一个或多个数字捕获到第 1 组中,然后匹配一个] ,将匹配作为x传递给 lambda 表达式,并将数字子串存储在第 1 组中使用.zfill(2)进行后处理以用零填充单个数字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM