删除非 ASCII 字符,同时保留句点和空格
目标是处理存储在 .txt 文件中的文本数据并提取不包含任何非 ASCII 字符的字符串,同时保留空格和句点。为了实现这一点,提供的代码定义了一个函数 onlyascii() ,该函数通过检查字符的 ASCII 值来确定是否应包含该字符。不过,它目前还删除了句点和空格。
要修改 onlyascii() 以排除句点和空格,我们可以利用 Python 的 string.printable 模块。 string.printable 包含一组被认为可打印的字符,包括空格和句点。
利用 string.printable 的 onlyascii() 的更新定义将是:
def onlyascii(char): if ord(char) < 48 or ord(char) > 127 or char not in string.printable: return '' else: return char
通过将此检查合并到onlyascii(),不可打印的字符(不包括空格和句点)将被过滤掉。
以下是更新后的 onlyascii() 函数的更正代码:
def onlyascii(char): if ord(char) < 48 or ord(char) > 127 or char not in string.printable: return '' else: return char def get_my_string(file_path): f=open(file_path,'r') data=f.read() f.close() filtered_data=filter(onlyascii, data) filtered_data = filtered_data.lower() return filtered_data
以上是如何删除非 ASCII 字符同时保留句点和空格?的详细内容。更多信息请关注PHP中文网其他相关文章!