`
hzy3774
  • 浏览: 984919 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

Python判断字符串是否纯英文(纯ASCII码字符)

 
阅读更多

        遇到了一个需求,有一对字符串数据需要使用python区分是否是纯英文,这些数据来源于不同国家的输入,区分的目的是为了大概统计英语的输入和其他语言输入的比例。

       首先想到的是python提供的函数str.isalpha():

    def judge_pure_english(keyword):
        return keyword.isalpha()

 而这样的结果并非满足需求,isalpha()只能判断一个字符串是否是一个的单词,也就是没有空格和其他符号的纯字符即满足条件:

[113211]is english[.гугал плей->False]
[113212]is english[노래->True]
[113213]is english[亲戚->True]
[113214]is english[ខ្មែ->False]
[113215]is english[євротрек драйвер->False]
[113216]is english[Sweater Weather->False]
[113217]is english[Toca led->False]
[113218]is english[электронды намаз->False]
[113219]is english[шщенок->True]
[113220]is english[графический планшет->False]
[113221]is english[готы->True]
[113222]is english[mindmars->True]
[113223]is english[че. а->False]
[113224]is english[гонки от полиции->False]
[113225]is english[футлол шоу->False]
[113226]is english[фспышка на звонок->False]
[113227]is english[фрийдом->True]
[113228]is english[фотошоп причесок->False]
[113229]is english[TouchPal SkinPack->False]
[113230]is english[голсовой яндекс->False]

 而我们需要的是判断英文,即便有空格也不要紧,于是采用另一种办法:

    def judge_pure_english(keyword):
        return all(ord(c) < 128 for c in keyword)

 这样就彻底解决问题了,速度也不慢:

[113210]is english[003 rt->True]
[113211]is english[.гугал плей->False]
[113212]is english[노래->False]
[113213]is english[亲戚->False]
[113214]is english[ខ្មែ->False]
[113215]is english[євротрек драйвер->False]
[113216]is english[Sweater Weather->True]
[113217]is english[Toca led->True]
[113218]is english[электронды намаз->False]
[113219]is english[шщенок->False]
[113220]is english[графический планшет->False]
[113221]is english[готы->False]
[113222]is english[mindmars->True]
[113223]is english[че. а->False]
[113224]is english[гонки от полиции->False]
[113225]is english[футлол шоу->False]
[113226]is english[фспышка на звонок->False]
[113227]is english[фрийдом->False]
[113228]is english[фотошоп причесок->False]
[113229]is english[TouchPal SkinPack->True]
[113230]is english[голсовой яндекс->False]

 得到了想要的结果,通过编码来判断,英文中是用的字母,数字,空格都被认为是英文,一旦出现超出这个范围的字符,就被认为是其他语言。

 

分享到:
评论

相关推荐

    Python判断文件和字符串编码类型的实例

    python判断文件和字符串编码类型可以用chardet工具包,可以识别大多数的编码类型。但是前几天在读取一个Windows记事本保存的txt文件时,GBK却被识别成了KOI8-R,无解。 然后就自己写了个简单的编码识别方法,代码...

    python 将字符串中的数字相加求和的实现

    计算字符串中所有数字的和,字符串中有数字和字母组合而成 如果出现连续数字,按照一个数操作 具体解释在代码行里: def sum_str(str1): ...= 57: #判断字符ascii码是否在数字ascii值范围内 n = n * 10 #n

    python统计中文字符数量的两种方法

    '''找出字符串中的中英文、空格、数字、标点符号个数''' count_en = count_dg = count_sp = count_zh = count_pu = 0 for s in str: # 英文 if s in string.ascii_letters: count_en += 1 # 数字 elif s....

    兼容Python 2/3的字符编码检测器。-Python开发

    Chardet:通用字符编码检测器可检测ASCII,UTF-8,UTF-16(2个变体),UTF-32(4个变体)Big5,GB2312,EUC-TW,HZ-GB-2312,ISO-2022-CN(传统和简体中文Chardet:通用字符编码检测器可检测ASCII,UTF-8,UTF-16(2...

    题目:编写一个Python函数,实现两个整数的加法运算,并处理可能的溢出情况

    同时,要求函数能够处理任意长度的字符串作为输入,将字符串中的每个字符转换为其对应的ASCII码值,并将这些ASCII码值相加。此外,函数还需要能够处理列表和元组作为输入,将列表和元组中的所有元素转换为其对应的...

    Python3 菜鸟查询手册

    25.10 判断字符串是否为数字.png 25.11 判断奇数偶数.png 25.12 判断闰年.png 25.13 获取最大值函数.png 25.14 质数判断.png 25.15 输出指定范围内的素数.png 25.16 阶乘实例.png 25.17 九九乘法表.png ...

    python如何实现int函数的方法示例

    python不能像c++一样直接使用s – ‘0’直接实现个位数的字符串转整型,而是需要转换ascii码,ord(s) – ord(‘0’)来实现转换 3.判断是否超限 这也是手写int函数最容易忽略的问题,返回结果不能出int的限制,python...

    Golang字符串变位词示例详解

    本文的目标是写出一个函数 anagram(s, t) 去判断两个字符串是否是颠倒字母顺序构成的。下面话不多说了,来一起看看详细的介绍吧。 GoLang 实现 func solution(s , t string)bool{ if s == t { return true } ...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    // $foo是字符串"1" (ASCII 49) $foo += 1; // $foo现在是整数(2) $foo = $foo + 1.3; // $foo是一个双精度数(3.3) $foo = 5 + "10 Little Piggies"; // $foo是一个整数(15) $foo = 5 + "10 Small Pigs"; // $foo是...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    DTD文件也是一个ASCII的文本文件,后缀名为.dtd。例如:myfile.dtd。 为什么要用DTD文件呢?我的理解是它满足了网络共享和数据交互,使用DTD最大的好处在于DTD文件的共享。(就是上文DTD说明语句中的PUBLIC属性)。...

Global site tag (gtag.js) - Google Analytics