Я пытаюсь удалить символ товарного знака (™), но только в том случае, если за ним не следует какой-либо другой символ, например, у меня может быть â € œ это плохая кодировка кавычки ()), поэтому я нехотите удалить символ товарного знака (™) и, следовательно, нарушить шаблон, который я использую для замены xx ™ на кавычку.
dict = {};
chars = {
'\xe2\x84\xa2': '', # ™
'\xe2\x80\x99': "'", # ’
}
def stats_change(char, number):
if dict.has_key(char):
dict[char] = dict[char]+number
else:
dict[char] = number # Add new entry
def replace_chars(match):
char = match.group(0)
stats_change(char,1)
return chars[char]
i, nmatches = re.subn("(\\" + '|\\'.join(chars.keys()) + ")", replace_chars, i)
count_matches += nmatches
Ввод: foo™ oof
Ввод: foo oof
Ввод: o’f oof
Ввод: o'f oof
Есть предложения?