ASCII olmayan (\ x00- \ x7F) karakterleri bir boşlukla değiştirmem gerekiyor. Bir şey eksik olmadıkça Python'da bunun kolay kolay olmadığına şaşırdım. Aşağıdaki işlev ASCII olmayan tüm karakterleri kaldırır:
def remove_non_ascii_1(text):
return ''.join(i for i in text if ord(i)<128)
Ve bu ASCII olmayan karakterleri karakter kodu noktasındaki bayt miktarına göre boşluk miktarıyla –
değiştirir (yani, karakter 3 boşlukla değiştirilir):
def remove_non_ascii_2(text):
return re.sub(r'[^\x00-\x7F]',' ', text)
ASCII olmayan tüm karakterleri tek bir boşlukla nasıl değiştirebilirim?
Of sayısız ait benzer SO sorular , hiçbiri adresi karakter yedek olarak karşıt için sıyırma , ve ayrıca tüm ASCII olmayan karakterler değil, belirli bir karakter yöneliktir.
–
. Bu var bu adam .