python判断是否为英文_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]

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值