python判斷是否漢字的5種方法實(shí)例
1. 使用Python內(nèi)置的ord()
ord()函數(shù)將字符轉(zhuǎn)換為Unicode編碼,然后判斷其范圍是否在漢字的范圍內(nèi):
示例代碼:
def is_chinese(char):
if '\u4e00' <= char <= '\u9fff':
return True
else:
return False2. 使用Python內(nèi)置的unicodedata庫(kù):
使用Python內(nèi)置的unicodedata庫(kù)可以用來(lái)判斷一個(gè)字符是否為漢字
示例代碼:
import unicodedata
def is_chinese(char):
if 'CJK' in unicodedata.name(char):
return True
else:
return False3. 使用正則表達(dá)式
可以使用正則表達(dá)式來(lái)判斷一個(gè)字符是否為漢字。例如,使用 [^\u4e00-\u9fa5] 可以匹配所有非漢字字符,而 [^\x00-\xff] 可以匹配所有雙字節(jié)字符,包括漢字和符號(hào)等。
示例代碼:
import re
# 判斷字符是否為漢字
def is_chinese(word):
pattern = re.compile(r'[^\u4e00-\u9fa5]')
if pattern.search(word):
return False
else:
return True
4. 使用中文字符集
可以使用中文字符集來(lái)判斷一個(gè)字符是否為漢字。例如,使用 GB2312 字符集或者 GBK 字符集,將每個(gè)漢字編碼為一個(gè)雙字節(jié)字符,判斷一個(gè)字符是否在這個(gè)字符集中即可。
示例代碼:
# 判斷字符是否為漢字
def is_chinese(word):
if b'\xb0\xa1' <= word.encode('gb2312') <= b'\xd7\xf9':
return True
else:
return False5. 使用第三方庫(kù)
還可以使用一些第三方庫(kù)來(lái)判斷一個(gè)字符是否為漢字,例如 xpinyin 庫(kù)可以將一個(gè)字符串轉(zhuǎn)換為拼音,并判斷字符串是否為漢字。
示例代碼:
from xpinyin import Pinyin
# 判斷字符是否為漢字
def is_chinese(word):
pinyin = Pinyin()
if pinyin.get_pinyin(word, '').isalpha():
return False
else:
return True
補(bǔ)充:Python 判斷字符串是否包含中文漢字
一行代碼實(shí)現(xiàn):
# 一行代碼判斷是否有漢字,ddd 代表要檢測(cè)的字符串
f = lambda x='ddd':sum([1 if u'\u4e00' <= i <= u'\u9fff' else 0 for i in x])>0
f('444')
False
f('ddddd的')
True
# 直接上也行 x 代表字符串
sum([1 if u'\u4e00' <= i <= u'\u9fff' else 0 for i in x])>0
sum([1 if u'\u4e00' <= i <= u'\u9fff' else 0 for i in 'dd哈'])>0
Truedef is_chinese(string):
"""
檢查整個(gè)字符串是否包含中文
:param string: 需要檢查的字符串
:return: bool
"""
for ch in string:
if u'\u4e00' <= ch <= u'\u9fff':
return True
return False
ret1 = is_chinese("a哦哦哈aaa")
print(ret1)
ret2 = is_chinese("123")
print(ret2)總結(jié)
到此這篇關(guān)于python判斷是否漢字的5種方法的文章就介紹到這了,更多相關(guān)python判斷是否漢字內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python中__new__和__init__的實(shí)現(xiàn)
在Python中,每個(gè)對(duì)象都有兩個(gè)特殊的方法__new__和__init__,本文主要介紹了python中__new__和__init__的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05
Numpy實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)的示例
這篇文章主要介紹了Numpy實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)的示例,幫助大家更好的理解和使用Numpy,感興趣的朋友可以了解下2020-10-10
Python基礎(chǔ)學(xué)習(xí)函數(shù)+模塊+類
這篇文章主要介紹了Python基礎(chǔ)學(xué)習(xí)函數(shù)+模塊+類,這是基礎(chǔ)學(xué)習(xí)的第三篇內(nèi)容,小編已把前兩篇鏈接放在下面,需要學(xué)習(xí)的同學(xué)可以參考一下2022-05-05
python爬蟲實(shí)現(xiàn)爬取同一個(gè)網(wǎng)站的多頁(yè)數(shù)據(jù)的實(shí)例講解
在本篇文章里小編給大家整理了一篇關(guān)于python爬蟲實(shí)現(xiàn)爬取同一個(gè)網(wǎng)站的多頁(yè)數(shù)據(jù)的實(shí)例內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。2021-01-01
Python爬蟲實(shí)例之2021貓眼票房字體加密反爬策略(粗略版)
這篇文章主要介紹了Python爬蟲實(shí)例之2021貓眼票房字體加密反爬策略(粗略版),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02
用Pelican搭建一個(gè)極簡(jiǎn)靜態(tài)博客系統(tǒng)過(guò)程解析
這篇文章主要介紹了用Pelican搭建一個(gè)極簡(jiǎn)靜態(tài)博客系統(tǒng)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
django配置連接數(shù)據(jù)庫(kù)及原生sql語(yǔ)句的使用方法
這篇文章主要給大家介紹了關(guān)于django配置連接數(shù)據(jù)庫(kù),以及原生sql語(yǔ)句的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03

