Как заменить все номера измененной версией этого номера? (Python) - PullRequest
1 голос
/ 18 марта 2019

У меня есть этот объект:

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 Ответ

2 голосов
/ 18 марта 2019

Вам нужно поместить группу захвата вокруг числа, чтобы вы могли скопировать ее в замену.

Кроме того, sub - это метод re, а не строковый метод.Вам нужно передать строку в качестве аргумента и присвоить результат.

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

\1 заменяется на то, что соответствует группе захвата (\d+) номер 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...