Мне нужно заменить все символы, отличные от ASCII (\ x00- \ x7F) пробелом. Я удивлен, что в Python это не так легко, если я ничего не пропустил. Следующая функция просто удаляет все символы не-ASCII:Заменить не-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 с одним пробелом?
OfthemyriadofsimilarSOquestions, noneaddresscharacterreplacementasopposedtostripping, and дополнительно рассмотреть все символы не-ASCII не конкретный характер.
ничего себе, вы действительно взяли хороших усилий по показать так много ссылок. +1, как только день возобновится! –
Вы, кажется, пропустили это http://stackoverflow.com/questions/1342000/how-to-replace-non-ascii-characters-in-string – Stuart
Мне интересно увидеть пример ввода, который имеет проблемы. – dstromberg