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 False
2. 使用Python內(nèi)置的unicodedata庫(kù):
使用Python內(nèi)置的unicodedata庫(kù)可以用來判斷一個(gè)字符是否為漢字
示例代碼:
import unicodedata def is_chinese(char): if 'CJK' in unicodedata.name(char): return True else: return False
3. 使用正則表達(dá)式
可以使用正則表達(dá)式來判斷一個(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. 使用中文字符集
可以使用中文字符集來判斷一個(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 False
5. 使用第三方庫(kù)
還可以使用一些第三方庫(kù)來判斷一個(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 True
def 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-05Numpy實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)的示例
這篇文章主要介紹了Numpy實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)的示例,幫助大家更好的理解和使用Numpy,感興趣的朋友可以了解下2020-10-10Python基礎(chǔ)學(xué)習(xí)函數(shù)+模塊+類
這篇文章主要介紹了Python基礎(chǔ)學(xué)習(xí)函數(shù)+模塊+類,這是基礎(chǔ)學(xué)習(xí)的第三篇內(nèi)容,小編已把前兩篇鏈接放在下面,需要學(xué)習(xí)的同學(xué)可以參考一下2022-05-05python爬蟲實(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-01Python爬蟲實(shí)例之2021貓眼票房字體加密反爬策略(粗略版)
這篇文章主要介紹了Python爬蟲實(shí)例之2021貓眼票房字體加密反爬策略(粗略版),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02用Pelican搭建一個(gè)極簡(jiǎn)靜態(tài)博客系統(tǒng)過程解析
這篇文章主要介紹了用Pelican搭建一個(gè)極簡(jiǎn)靜態(tài)博客系統(tǒng)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08django配置連接數(shù)據(jù)庫(kù)及原生sql語句的使用方法
這篇文章主要給大家介紹了關(guān)于django配置連接數(shù)據(jù)庫(kù),以及原生sql語句的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03