Python заменяет метод странного поведения - PullRequest
0 голосов
/ 09 июня 2018

Пожалуйста, помогите и объясните.Я попытался добавить аргумент max, но это не помогло.

 key = "tea-1_a-1"
 print(key.replace("a-1","a-2")) # prints 'tea-2_a-2'

Мне нужно tea-1_a-2.

Ответы [ 2 ]

0 голосов
/ 09 июня 2018

Регулярное выражение будет выполнять эту работу, ища либо начало строки, либо символ подчеркивания перед вашим шаблоном:

>>> import re
>>> key = 'a-1_tea-1'
>>> re.sub(r'(?:^|(?<=_))a-1', 'a-2', key)
'a-2_tea-1'
>>> key = 'tea-1_a-1'
>>> re.sub(r'(?:^|(?<=_))a-1', 'a-2', key)
'tea-1_a-2'

См. Python Синтаксис регулярного выражения Документация для получения дополнительной информации.информация.

0 голосов
/ 09 июня 2018

Попробуйте следующее:

key = "tea-1_a-1"
print(key.replace("_a-1","_a-2")) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...