当前位置: 首页 > 面试题库 >

在Python中检测具有非英文字符的字符串

朱翔
2023-03-14
问题内容

我有一些混合使用英语和没有英语字母的字符串。例如:

w='_1991_اف_جي2'

如何使用Regex或Python中的其他任何快速方法识别这些类型的字符串?

我不希望将字符串中的字母与字母列表一一比较,而要快速完成。


问题答案:

您只需检查字符串是否只能使用ASCII字符(拉丁字母+其他字符)进行编码。如果它不能被编码,则它具有来自其他字母的字符。

注意评论# -*- coding: ....。它应该在python文件的顶部(否则您会收到一些关于编码的错误)

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

assert not isEnglish('slabiky, ale liší se podle významu')
assert isEnglish('English')
assert not isEnglish('ގެ ފުރަތަމަ ދެ އަކުރު ކަ')
assert not isEnglish('how about this one : 通 asfަ')
assert isEnglish('?fd4))45s&')


 类似资料:
  • 问题内容: 如果我有一个PHP字符串,如何有效地确定它是否至少包含一个非ASCII字符?所谓非ASCII字符,是指不属于此表的任何字符,http://www.asciitable.com/,其位置为32-126(含)。 因此,它不仅必须是ASCII表的一部分,而且还必须是可打印的。我想检测一个包含至少一个不符合这些规范的字符的字符串(不可打印的ASCII字符或完全不同的字符,例如不属于该表的Uni

  • 问题内容: 我们如何从Python字符串中删除所有非数字字符? 问题答案:

  • 问题内容: 使用Java如何检测字符串是否包含汉字? 您能帮我解决问题吗? 问题答案: 现在可以告诉我们代码点是CJKV(中文,日文,韩文和越南文)表意文字。 最近使用的是Character.UnicodeScript.HAN。 所以: 或在Java 8中:

  • 本文向大家介绍检查字符串的两半在Python中是否具有相同的字符集,包括了检查字符串的两半在Python中是否具有相同的字符集的使用技巧和注意事项,需要的朋友参考一下 我们必须检查在Python中,字符串的两半是否具有相同的字符集。两半中字符的频率必须相同。如果字符串的长度是奇数,请忽略中间的字符并检查其余字符。请按照以下步骤编写程序代码。 算法 让我们编写代码。 示例 输出结果 如果运行上述程序

  • 问题内容: 我正在编写python MapReduce字数统计程序。问题是数据中散布着许多非字母字符,我发现这篇文章从Python的字符串中剥离了除了字母数字字符之外的所有内容,这显示了使用正则表达式的一个很好的解决方案,但是我不确定如何实现它 恐怕我不确定该如何使用该库甚至正则表达式。我不确定如何将正则表达式模式正确地应用于传入的字符串(书的一行)以检索没有任何非字母数字字符的新行。 有什么建议

  • 我读了这段代码。正如世外桃源.txt内容使用“测试”。该文件的大小为 4 个字节。如果我使用调试来运行 一次一个字节,每次打开文件后再次打开.txt(用记事本)我依次看到:t--