Мне нужно заменить все не-ASCII (\ x00- \ x7F) символы пробелом. Я удивлен, что это не так просто в Python, если я что-то упустил. Следующая функция просто удаляет все не-ASCII символы:
def remove_non_ascii_1(text):
return ''.join(i for i in text if ord(i)<128)
И этот заменяет не-ASCII символы количеством пробелов согласно количеству байтов в кодовой точке символа (т.е. –
символ заменяется 3 пробелами):
def remove_non_ascii_2(text):
return re.sub(r'[^\x00-\x7F]',' ', text)
Как заменить все символы, не входящие в ASCII, одним пробелом?
Из за несметного из подобных SO вопросов , ни один адрес символов замены в противоположность к зачистки , и дополнительно обратиться ко всем не-ASCII символы не конкретный характер.
–
. Это этот парень .