Как заменить все % из строки, за которыми не следует s?
Допустим есть строка: "Johny was going to %s to buy goods with 20% discount"
Из этой строчки мне нужно заменить процент на %%, но %s оставить без изменений. Делается это для форматирования строк, по такому типу:
a = "Johny was going to %s to buy goods with 20% discount"
print(a % 'store')
P.S Я знаю о форматировании вида f"", и string.format(*args, **kwargs), в данном случае нужно провести замену % для запроса MySQL, и тут нельзя использовать другие виды форматирования, кроме обычного %
Ответы (1 шт):
Автор решения: extrn
→ Ссылка
Наличие s после % - не очень надежный критерий
WHERE column_name like '%some_string%'
Но все же если это именно то, что вам нужно
print(re.sub('%(?!s)', '%%', '%s%d% %s %d %')) # %s%%d%% %s %%d %%