我有两根绳子
eng = "Clash of Clans – Android Apps on Google Play"
rus = "Castle Clash: Новая Эра - Android Apps on Google Play"
现在我想通过使用Python 3
来检查字符串是否为英语。在
我读过这个Stackoverflow的答案here,它对我没有帮助,因为它的解决方案是Python 2.x
,但在评论中有人提到使用
为了使它在Python 3.x
中工作,但我的问题是,在这两种情况下,它都会引发相同的UnicodeEncodeError
异常!在
所以现在我被困在这里,不知道该怎么做!
请指导我,否则我必须用另一种方法来确定String
是否在English
中!
谢谢
可以使用isascii()方法:
与您链接到的SalvadorDali的answer一样,您必须使用try-catch块来检查编码中的错误。在
不过要注意的是,当我复制并粘贴您的
eng
和rus
字符串来尝试它们时,它们都是False
。重新输入英文版返回True
,所以我不确定这是怎么回事。在你的英文字符串不是真正的ASCII,它包含字符^{} - EN DASH 。这看起来与ASCII短划线
U+002d
非常相似,但不同。在如果这是您需要担心的唯一角色,您可以进行简单的替换以使其正常工作:
相关问题 更多 >
编程相关推荐