如何在 python 3 中检查字符串是否为 100% ascii

2024-01-01

我有两个字符串

eng = "Clash of Clans – Android Apps on Google Play"
rus = "Castle Clash: Новая Эра - Android Apps on Google Play"

现在我想通过使用来检查字符串是否是英文Python 3.

我读过这个 Stackoverflow 答案here https://stackoverflow.com/a/27084708/4108070它对我没有帮助,因为它是为了Python 2.x解决方案,但在评论中有人提到使用

string.encode('ascii')

让它发挥作用Python 3.x但我的问题是,在这两种情况下它都会引发相同的问题UnicodeEncodeError例外!

Screenshot: enter image description here

所以现在我被困在这里,不知道如何让它工作! 请指导我,否则我必须使用另一种方法来确定是否String is in English或不! 谢谢


与萨尔瓦多·达利的作品一样answer https://stackoverflow.com/a/27084708/3223917如果您链接到,则必须使用 try-catch 块来检查编码中的错误。

# -*- coding: utf-8 -*-
def isEnglish(s):
    try:
        s.encode('ascii')
    except UnicodeEncodeError:
        return False
    else:
        return True

但要注意的是,当我复制并粘贴你的eng and rus字符串来尝试它们,它们都出现了False。重新输入返回的英文True,所以我不确定这是怎么回事。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 python 3 中检查字符串是否为 100% ascii 的相关文章

随机推荐