首頁 > 親寶學漢字拍攝地點

親寶學漢字拍攝地點

互聯網 2021-11-29 20:01:12
Python中怎麼提取字元串中的漢字?

By Datawhale知乎內容輸出小組D1

問題

str1 = 「{我% 是 , 《 速 是,《速 是,《速@.度\發》中 /國、人」

怎麼把裡面的漢字提取出來,只要漢字,替換成

str1 = 「我是速度發中國人」

還有就是

str2 = 「[齊天大聖/孫悟空] 2016.09.17 六學家Zhang ~ 第1張.jpg」

這個是把裡面的符號都去掉。轉換成這樣的字元串

str2 = 「齊天大聖孫悟空20160917六學家Zhang第1張.jpg」

解答

首先我有個疑問 - str2中的符號』.'需要去掉嗎?

題主給定的輸出是"齊天大聖孫悟空20160917六學家Zhang第1張.jpg",包含了倒數第4個字元』.』,但是沒有包含』2016.09.17』中的』.』。

這裡我暫且假定正確的輸出為:『齊天大聖孫悟空20160917六學家Zhang第1張jpg』,即』.'作為字元,是需要去掉的。

採用正則表達式的方法對字元串進行處理。

str1 = "{我%$是,《速$@.度\發》中 /國、人" str2 = "[齊天大聖/孫悟空] 2016.09.17 六學家Zhang ~ 第1張.jpg"

1)提取漢字

漢字的範圍為」\u4e00-\u9fa5「,這個是用Unicode表示的

import reres1 = ''.join(re.findall('[\u4e00-\u9fa5]',str1))print(res1)

輸出為:『我是速度發中國人』

2)去除所有符號。採用清理數據,僅保留字母、數字、中文的方法

res2 = re.sub("[^a-zA-Z0-9\u4e00-\u9fa5]", '', str2) print(res2)

輸出為:『齊天大聖孫悟空20160917六學家Zhang第1張jpg』 運行截圖如下: Q1

免責聲明:非本網註明原創的信息,皆為程序自動獲取互聯網,目的在於傳遞更多信息,並不代表本網贊同其觀點和對其真實性負責;如此頁面有侵犯到您的權益,請給站長發送郵件,並提供相關證明(版權證明、身份證正反面、侵權鏈接),站長將在收到郵件12小時內刪除。

相關閱讀