Мені потрібно замінити всі символи, що не належать до 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 символи не конкретний характер.
–
. Це цей хлопець .