gpt4 book ai didi

python - 如何摆脱 Perl 和 Python [两者] 中的非 ascii 字符?

转载 作者:行者123 更新时间:2023-11-28 19:40:48 25 4
gpt4 key购买 nike

如何去除 Perl 和 Python 中的非 ASCII 字符,如“^L,¢,â”?实际上在用 Python 和 Perl 解析 PDF 文件时。我得到这些特殊字符。现在我有这些 PDF 文件的文本版本,但带有这些特殊字符。是否有任何可用的函数可以确保文件或变量不应包含任何非 ascii 字符。

最佳答案

在 Python 中,您的问题的直接答案是在相关 Unicode 字符串上使用 .encode('ascii', 'ignore')。这会将 Unicode 字符串转换为 ASCII 字符串并删除任何非 ASCII 字符:

>>> u'abc\x0c¢â'.encode('ascii', errors='ignore')
'abc\x0c'

请注意,它没有取出'\x0c'。我把它放进去是因为你提到了字符“^L”,我假设你指的是可以使用 Ctrl+L 键入的换页符“\x0c”。那个一个ASCII字符,如果你想把它去掉,你还需要写一些其他的代码来去掉它,比如:

>>> str(''.join([c for c in u'abc\x0c¢â' if 32 <= ord(c) < 128]))
'abc'

但这可能对您没有帮助,因为我怀疑您不只是想删除这些字符,而是实际上首先解决了与它们存在的原因有关的问题。在这种情况下,可能是因为 Unicode 编码问题。要解决这个问题,您需要提出更具体的问题,并提供具体示例,说明您的期望和所见。

关于python - 如何摆脱 Perl 和 Python [两者] 中的非 ascii 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6354260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com