用括号内的数字Python替换字符串中的数字

2024-09-30 01:36:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一根这样的绳子:

s = k0+k1+k1k2+k2k3+1+12

{1>在这里用这样的一个方括号(^ 1)将这个数字括起来:

^{pr2}$

有什么好方法可以做到这一点?在

我尝试了:使用replace()函数4次(但是它不能处理后面不跟字母的数字)。在


Tags: 方法函数字母数字k1replace绳子方括号
2条回答

这个怎么样?在

s = re.sub('([a-z]+)([0-9]+)', r"\1" + '[' + r"\2" + ']', s)

下面是一个使用带regex的re模块的选项,它与后跟数字的单个字母相匹配,并且使用sub,您可以在替换中用一对括号将匹配的数字括起来:

import re
s = "k0+k1+k1k2+k2k3+1+12"

re.sub(r"([a-zA-Z])(\d+)", r"\1[\2]", s)
# 'k[0]+k[1]+k[1]k[2]+k[2]k[3]+1+12'

要将匹配的字母替换为大写,可以在替换位置使用lambda将其转换为大写:

^{pr2}$

相关问题 更多 >

    热门问题