主頁 > 知識(shí)庫 > 如何使用python提取字符串的中英文(正則判斷)

如何使用python提取字符串的中英文(正則判斷)

熱門標(biāo)簽:唐山智能外呼系統(tǒng)一般多少錢 哈爾濱ai外呼系統(tǒng)定制 廣告地圖標(biāo)注app 激戰(zhàn)2地圖標(biāo)注 公司電話機(jī)器人 陜西金融外呼系統(tǒng) 白銀外呼系統(tǒng) 海南400電話如何申請(qǐng) 騰訊外呼線路

前言

提取中英文是我們?cè)谧鰯?shù)據(jù)處理時(shí)候經(jīng)常使用的,最高效的做法就是通過正則判斷了,下面是我寫的筆記,希望對(duì)你有用

一. re中的sub函數(shù)

使用Python 的re模塊,re模塊提供了re.sub用于替換字符串中的匹配項(xiàng)。

re.sub(pattern, repl, string, count=0)

參數(shù)說明:

  • pattern:正則重的模式字符串
  • repl:被拿來替換的字符串
  • string:要被用于替換的原始字符串
  • count:模式匹配后替換的最大次數(shù),省略則默認(rèn)為0,表示替換所有的匹配

1.1 提取中文

可以這樣想:我們可以通過將不是中文的字符替換為空不就可以了

例如

import re
str = "重出江湖hello的地H方。。的,world"
str = re.sub("[A-Za-z0-9\,\。]", "", str)
print(str)
輸出:神的孩子在唱歌

1.2 提取英文

import re
str = "重123出江湖hello的地H方。。的,world"
str = re.sub("[\u4e00-\u9fa5\0-9\,\。]", "", str)
print(str)
輸出:helloHworld

1.3 提取數(shù)字

import re
str = "重123出江湖hello的地H方。。的,world"
str = re.sub("[A-Za-z\u4e00-\u9fa5\,\。]", "", str)
print(str)
輸出:123

二. re中的findall函數(shù)

在字符串中找到正則表達(dá)式所匹配的所有子串,并返回一個(gè)列表,如果沒有找到匹配的,則返回空列表。

語法格式為:

findall(string[, pos[, endpos]])

參數(shù):

  • string : 待匹配的字符串。
  • pos : 可選參數(shù),指定字符串的起始位置,默認(rèn)為 0。
  • endpos :可選參數(shù),指定字符串的結(jié)束位置,默認(rèn)為字符串的長(zhǎng)度。 查找字符串中的所有數(shù)字:

擴(kuò)展:正則中有match 和 search ,它們是是匹配一次,findall

匹配所有,具體了解可以到菜鳥教程查看

2.1 提取中文

2.2 提取英文

通俗寫法

import string#提供a-z的小寫字母
dd = "神的孩子hello在H唱歌,world"
#準(zhǔn)備英文字符
temp=""
letters=string.ascii_lowercase#包含a-z的小寫字母
for word in dd:#for循環(huán)取出單個(gè)詞
    if word.lower() in letters:#判斷是否是英文
        temp+=word#添加組成英文單詞
print(temp)
輸出:helloHworld

正則

#A-Za-z
import re
dd = "重出123江湖hello的地方的,world"
result = ''.join(re.findall(r'[A-Za-z]', dd)) 
print(result)
輸出:helloHworld

2.3 提取數(shù)字

#0-9注意這個(gè)數(shù)字前面不能\,要不然他連,都給算上
import re
dd = "神123的孩子hello在唱H歌。。,world"
result = ''.join(re.findall(r'[0-9]', dd)) 
print(result)
輸出:123

三. re中的compile函數(shù)

compile函數(shù)用于編譯正則表達(dá)式,生成一個(gè)正則表達(dá)式( Pattern )對(duì)象,供其他函數(shù)使用。

語法格式為:

re.compile(pattern[, flags])

參數(shù):

pattern : 一個(gè)字符串形式的正則表達(dá)式

flags : 可選,表示匹配模式,比如忽略大小寫,多行模式等,具體參數(shù)為:

  • re.I 忽略大小寫
  • re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依賴于當(dāng)前環(huán)境
  • re.M 多行模式
  • re.S即為 . 并且包括換行符在內(nèi)的任意字符(. 不包括換行符)
  • re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s,\S 依賴于 Unicode 字符屬性數(shù)據(jù)庫
  • re.X 為了增加可讀性,忽略空格和 # 后面的注釋

3.1 同時(shí)匹配中英文數(shù)字去除其他字符

總結(jié)

到此這篇關(guān)于如何使用python提取字符串中英文的文章就介紹到這了,更多相關(guān)python提取字符串中英文內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python字符串的多行輸出的實(shí)例詳解
  • python列表和字符串的三種逆序遍歷操作
  • python 如何比較字符串是否一樣
  • python str()如何將參數(shù)轉(zhuǎn)換為字符串類型
  • 教你怎么用python實(shí)現(xiàn)字符串轉(zhuǎn)日期
  • 詳解python字符串駐留技術(shù)
  • python 如何將帶小數(shù)的浮點(diǎn)型字符串轉(zhuǎn)換為整數(shù)
  • Python的字符串示例講解
  • python生成隨機(jī)數(shù)、隨機(jī)字符、隨機(jī)字符串的方法示例
  • python如何正確的操作字符串

標(biāo)簽:惠州 黔西 常德 黑龍江 四川 益陽 鷹潭 上海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何使用python提取字符串的中英文(正則判斷)》,本文關(guān)鍵詞  如何,使用,python,提取,字符串,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何使用python提取字符串的中英文(正則判斷)》相關(guān)的同類信息!
  • 本頁收集關(guān)于如何使用python提取字符串的中英文(正則判斷)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章