Python 消除不需要的字符

Python 消除不需要的字符,python,exception-handling,Python,Exception Handling,我如何在一个词中消除诸如“It”之类的字符 这些字符导致我的python程序失败。如何处理这些字符,我的输入文件中有很多字符 请帮忙。谢谢使用ord()检查字符串中每个字符的ASCII值,如果它介于32和126之间(包括32和126),则它是有效字符,否则忽略 In [23]: strs="“It" In [24]: "".join(x for x in strs if 31<ord(x)<127) Out[24]: 'It' 过滤掉整个单词,使用all()和我们在第一种情况

我如何在一个词中消除诸如“It”之类的字符

这些字符导致我的python程序失败。如何处理这些字符,我的输入文件中有很多字符

请帮忙。谢谢

使用
ord()
检查字符串中每个字符的ASCII值,如果它介于32和126之间(包括32和126),则它是有效字符,否则忽略

In [23]: strs="“It"

In [24]: "".join(x for x in strs if 31<ord(x)<127)
Out[24]: 'It'
过滤掉整个单词,使用
all()
和我们在第一种情况下使用的条件:

In [35]: strs="“It foo bar€"

In [36]: [word for word in strs.split() if all(31<ord(c)<127 for c in word) ]
Out[36]: ['foo']
[35]中的
:strs=“It foo bar”

在[36]:[strs.split()中的逐字逐句(如果全部(31)看起来像UTF-8,被误解为不同的编码。请尝试:

fixed_input_string = input_string.decode('utf-8')
看看这能不能解决你的问题


顺便说一句,如果你不知道我刚才说的话,现在就读。如果你试图编写只接受“英语”文本的软件(这实际上意味着ASCII,因为标准英语文本中使用的很多字符都不是ASCII),那么你的软件在各种“有趣的”方面都会失败方法。Unicode不会消失,你总有一天会学会的——所以现在是开始学习的好时机。

请你说得更具体一点,你想去除所有非英语字符吗?忽略它们?为什么不允许它们?也许你需要修正你的程序来正确处理Unicode输入?不要只是删除n在ASCII字符上,正确地处理它们!@jamylak-是的,我想去掉所有不正确的字符english@user1946217那
->呢?"
和其他字符?@ashwini我想让特殊字符重新生成Hanks ashwini,如果我要删除包含非英语字符的整个单词,我该如何检查?这是个坏主意。不要只过滤Unicode字符;学会正确处理它们。即使您的输入将完全是英语,甚至实际上,有人会在软件的输入字段或数据文件中键入“卷曲引号”-或em破折号,而您仍然需要处理Unicode。不要将其过滤掉;学会处理它。@user1946217我已经添加了这一部分。
fixed_input_string = input_string.decode('utf-8')