遇到了一个需求,有一对字符串数据需要使用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中处理...
在Python编程语言中,标示符(Identifier)是用来命名变量、函数、类...以上就是关于Python中判断字符串是否为合法标示符的相关知识,通过这些理解,你可以编写自己的词法分析器,对输入的字符串进行有效的识别和处理。
在这个文件中,定义一个函数is_gb2312,该函数用于判断字符串编码是否为gb2312。函数的实现逻辑是,遍历字符串的每个字符,然后通过ord函数获得该字符的ASCII值,如果该值大于127,那么就可能是gb2312编码。然后,...
这里需要注意的是,Python中的字符串是以Unicode编码存储的,因此可以直接使用Unicode的字符范围来进行判断。 #### 实际应用场景 1. **文本分析**:在进行文本分析时,我们常常需要区分出文本中的不同语言成分,...
在 Python 中,我们可以使用 isinstance() 函数来判断字符串的编码方式是否为 Unicode。如果字符串已经是 Unicode 了,再进行解码将出错。例如,isinstance(s,unicode) 可以判断字符串 s 是否为 Unicode。 最后,...
=`比较字符内容,`is`和`is not`比较对象是否相同(即内存地址是否一致),`in`和`not in`判断字符或子串是否包含在字符串内。 15. **转义字符**:`\`作为转义字符,用于表示特殊的含义,如`\n`表示换行,`\t`表示...
6. 非成员运算符:not in,用于判断字符串中是否不包含某个字符。 Python 原始字符串是 Python 语言中的一种特殊字符串,用于输出原始字符串。原始字符串的使用可以使得输出结果更加直接和明确。 Python 字符串格式...
1. **遍历字符串**:从字符串的每个字符开始,检查当前字符是否为数字(可以使用 `isdigit()` 函数或 ASCII 码判断)。 2. **动态规划**:使用一个变量来记录当前连续数字串的长度,同时用另一个变量记录到目前为止...
在Python中,我们经常需要对字符串中的字符进行分类统计,例如计算字符串中英文字母、空格、数字以及其他字符的数量。这个过程可以通过遍历字符串中的每一个字符,然后根据字符的类型来增加对应计数器的值来实现。 ...
字符串在各种编程语言中都是基本的数据类型,如Python中的`str`,Java中的`String`,JavaScript中的`String`等。 截取字符串通常有两种主要方法:固定位置截取和指定长度截取。 1. 固定位置截取:这种方法通常基于...
例如,你可以通过ASCII值来判断两个字符是否相等,或者将字符转换为其对应的ASCII数值。在某些语言中,如C或C++,可以直接使用'\\'后跟三位八进制数来表示ASCII码,而在Python中,可以使用ord()函数获取字符的ASCII...
python判断文件和字符串编码类型可以用chardet工具包,可以识别大多数的编码类型。但是前几天在读取一个Windows记事本保存的txt文件时,GBK却被识别成了KOI8-R,无解。 然后就自己写了个简单的编码识别方法,代码...
在比较中文字符串时,即使字符串内容相同,由于编码格式的不同,Python可能无法正确判断两个字符串是否相等。 知识点2:Python编码格式 Python中文字符串相等性的问题往往跟编码格式紧密相关。在Python 3中,默认...
Python中的字符串操作是编程中非常基础且重要的部分,尤其对于初学者来说,掌握这些技巧能够大大提升编程效率。以下是对标题和描述中所提到的知识点的详细解释: 1. **字符串定义**: Python中的字符串可以用单...
首先,我们需要了解在大多数编程语言中,字符串是由一系列字符组成的序列,每个字符都有其对应的ASCII码或Unicode编码。字母和数字在ASCII码表或Unicode表中有着特定的范围。例如,在ASCII码中,小写字母的范围是从...
本篇文章将详细解释如何使用`chardet`来判断字符串编码,并探讨Python中与编码相关的几个关键概念。 首先,让我们深入了解`chardet`库。在Python中,`chardet`是一个自动识别非ASCII字符编码的库,支持多种编码格式...
3. **排序比较**:使用`, `, `>`, `>=`比较字符串,Python中的字符串比较默认按字典顺序进行,即按照ASCII码值比较每个字符。 4. **忽略大小写比较**:如果需要忽略字符串的大小写进行比较,可以先将字符串转换为全...
在处理字符串时,有时我们需要判断字符串中的字符是否为数字。Python提供了三个相关的函数:`isdigit()`、`isdecimal()`和`isnumeric()`,它们都能用来检验字符串中的字符是否具有数字特征,但它们的适用范围有所...