Muszę zastąpić wszystkie znaki spoza ASCII (\ x00- \ x7F) spacją. Dziwi mnie, że w Pythonie nie jest to łatwe, chyba że czegoś mi brakuje. Następująca funkcja po prostu usuwa wszystkie znaki spoza ASCII:
def remove_non_ascii_1(text):
return ''.join(i for i in text if ord(i)<128)
I ten zastępuje znaki spoza ASCII ilością spacji odpowiadającą liczbie bajtów w punkcie kodu znaku (tzn. –
Znak jest zastępowany 3 spacjami):
def remove_non_ascii_2(text):
return re.sub(r'[^\x00-\x7F]',' ', text)
Jak mogę zastąpić wszystkie znaki spoza ASCII pojedynczą spacją?
Od tej niezliczonej o podobnej SO pytania , żaden adres charakter zamiennych w przeciwieństwie do rozbiórki , a dodatkowo nie uwzględniają wszystkich znaków spoza ASCII specyficzny charakter.
–
. To ten facet .