我需要用空格替换所有非ASCII(\ x00-\x7F)字符.我很惊讶这在Python中并不容易,除非我遗漏了一些东西.以下函数只删除所有非ASCII字符:
def remove_non_ascii_1(text):
return ''.join(i for i in text if ord(i)<128)
Run Code Online (Sandbox Code Playgroud)
并且这个用字符代码点中的字节数替换非ASCII字符和空格量(即–字符被3个空格替换):
def remove_non_ascii_2(text):
return re.sub(r'[^\x00-\x7F]',' ', text)
Run Code Online (Sandbox Code Playgroud)
如何用单个空格替换所有非ASCII字符?
的 在 无数 的 类似 SO 问题,无 地址 的字符 替换 为 反对 以 剥离,并进一步解决所有非ASCII字符不是一个特定的字符.
我想检查一个字符串是否是ASCII格式.
我知道ord(),但是当我尝试时ord('é'),我有TypeError: ord() expected a character, but string of length 2 found.我知道它是由我构建Python的方式引起的(如ord()文档中所述).
还有其他方法可以检查吗?