網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
在自然語(yǔ)言處理過(guò)程中,全角、半角的的不一致會(huì)導(dǎo)致信息抽取不一致,因此需要統(tǒng)一。
有規(guī)律(不含空格):
全角字符unicode編碼從65281~65374 (十六進(jìn)制 0xFF01 ~ 0xFF5E)
半角字符unicode編碼從33~126 (十六進(jìn)制 0x21~ 0x7E)
特例:
空格比較特殊,全角為 12288(0x3000),半角為 32(0x20)
除空格外,全角/半角按unicode編碼排序在順序上是對(duì)應(yīng)的(半角 + 0x7e= 全角),所以可以直接通過(guò)用+-法來(lái)處理非空格數(shù)據(jù),對(duì)空格單獨(dú)處理。
注:
1. 中文文字永遠(yuǎn)是全角,只有英文字母、數(shù)字鍵、符號(hào)鍵才有全角半角的概念,一個(gè)字母或數(shù)字占一個(gè)漢字的位置叫全角,占半個(gè)漢字的位置叫半角。
2. 引號(hào)在中英文、全半角情況下是不同的
示例
# 全角轉(zhuǎn)半角 def strQ2B(ustring): ss = [] for s in ustring: rstring = "" for uchar in s: inside_code = ord(uchar) if inside_code == 12288: inside_code = 32 elif (inside_code >= 65281 and inside_code <= 65374): inside_code -= 65248 rstring += chr(inside_code) ss.append(rstring) return ''.join(ss) # 半轉(zhuǎn)全角 def strB2Q(ustring): ss = [] for s in ustring: rstring = "" for uchar in s: inside_code = ord(uchar) if inside_code == 32: inside_code = 12288 elif (inside_code >= 33 and inside_code <= 126): inside_code += 65248 rstring += chr(inside_code) ss.append(rstring) return ''.join(ss) if __name__ == '__main__': b = strQ2B('王大AA') print(b) a = strB2Q("王大AB") print(a)
庫(kù)函數(shù)說(shuō)明
chr()函數(shù)用一個(gè)范圍在range(256)內(nèi)的(就是0~255)整數(shù)作參數(shù),返回一個(gè)對(duì)應(yīng)的字符。
unichr()跟它一樣,只不過(guò)返回的是Unicode字符。
ord()函數(shù)是chr()函數(shù)(對(duì)于8位的ASCII字符串)或unichr()函數(shù)(對(duì)于Unicode對(duì)象)的配對(duì)函數(shù),它以一個(gè)字符(長(zhǎng)度為1的字符串)作為參數(shù),返回對(duì)應(yīng)的ASCII數(shù)值,或者Unicode數(shù)值。
原文鏈接:https://juejin.cn/post/7080335663979036686
相關(guān)推薦
- 2022-11-25 Django使用裝飾器限制對(duì)視圖的訪問(wèn)及實(shí)現(xiàn)原理_python
- 2022-05-05 Entity?Framework表拆分為多個(gè)實(shí)體_實(shí)用技巧
- 2022-06-08 FreeRTOS實(shí)時(shí)操作系統(tǒng)Cortex-M內(nèi)核使用注意事項(xiàng)_操作系統(tǒng)
- 2022-11-07 python學(xué)習(xí)pymongo模塊的使用方法_python
- 2022-03-30 Android?Jetpack?Compose無(wú)限加載列表_Android
- 2022-04-01 docker 命令查看registry倉(cāng)庫(kù)鏡像
- 2022-06-09 Nginx流量拷貝ngx_http_mirror_module模塊使用方法詳解_nginx
- 2022-07-14 Android自定義相機(jī)、預(yù)覽區(qū)域裁剪_Android
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支