如何用该数字的修改版本替换所有数字? (蟒蛇)

时间:2019-03-18 01:56:43

标签: regex python-3.x

我有这个对象:

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?])

1 个答案:

答案 0 :(得分:2)

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

此外,subre方法,而不是字符串方法。您需要将字符串作为参数传递,并分配结果。

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

\1被匹配捕获组(\d+) 1号的任何内容所代替。