Я работаю с вышестоящей системой, которая иногда присылает мне текст, предназначенный для вывода HTML / XML, с незашифрованными амперсандами:
str1 = "Stay at this B&B"
str2 = "He’s going to Texas A&M"
str3 = "He’s going to a B&B and then Texas A&M"
Мне нужно заменить незакодированные амперсанды на и
при сохранении тех, которые являются частью ссылок на символы или уже закодированы.
(Исправление исходной системы не является вариантом, и, поскольку текст иногда приходит частично закодированным, перекодирование всего Строка - тоже не то, что я могу сделать. Я бы просто хотел исправить эту назойливую проблему и продолжить свою жизнь)
Это регулярное выражение прекрасно ее улавливает, но у меня проблемы с синтаксисом сделать re.sub
:
re.findall("&[^#|amp]", str3)
Я не знаю, как правильно заменить текст; у меня такое ощущение, что это будет связано с re.group
, но это слабость мое регулярное выражение-foo.
Любая помощь приветствуется.