首页 > 后端开发 > Python教程 > 如何删除非 ASCII 字符同时保留句点和空格?

如何删除非 ASCII 字符同时保留句点和空格?

DDD
发布: 2024-10-19 20:37:29
原创
996 人浏览过

How to Remove Non-ASCII Characters while Preserving Periods and Spaces?

删除非 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中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板