首页 > 解决方案 > 如何用该号码的修改版本替换所有号码?(Python)

问题描述

我有这个对象:

obj = "1231 qlwdrn,555, ;wlrd wqd 111 qwd,112,"

我想在用逗号括起来的每组数字周围添加单引号。

我想要的输出

obj = "1231 qlwdrn,'555', ;wlrd wqd 111 qwd,'112',"

我知道如何匹配这些数字,但我不知道如何保留这些相同的数字以供替换。这就是我所在的地方。

import re 

obj = "1231 qlwdrn,555, ;wlrd wqd 111 qwd,112,"

obj.sub(r",\d+,", [what do I put here?])

标签: regexpython-3.x

解决方案


您需要在数字周围放置一个捕获组,以便您可以将其复制到替换中。

另外,sub是一种re方法,而不是字符串方法。您需要将字符串作为参数传递,并分配结果。

obj = re.sub(r",(\d+),", r",'\1',", obj)

\1替换为与捕获组(\d+)编号 1 匹配的任何内容。


推荐阅读