sub出現(xiàn)于re庫,用法是re.sub(pattern, repl, string, count=0, flags=0)
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了滎經(jīng)免費(fèi)建站歡迎大家使用!
實(shí)例,re.sub(r'e','a','def',count = 1)
daf
相對于replace來說,該方法功能更強(qiáng),但是運(yùn)行效率更低。
replace是自帶函數(shù),用法是str.replace(old, new[, max])
實(shí)例,'abbc'.replace('b','a',1)
aabc
對比re.sub來說,replace沒有正則的效果,但是運(yùn)行效率更佳。請在實(shí)際應(yīng)用中根據(jù)需求來定制使用方法,不要浪費(fèi)資源。
round(float(x), 6) 你要保留結(jié)尾的0的話,不能存成float數(shù)據(jù),float會自動去掉末尾的0
你需要保存你的結(jié)果為string或者decimal.decimal
string的話:
"%.6f" % float(x)
decimal的話:
import decimal
decimal.decimal("%.6f" % float(x))
字符串的匹配查詢
Python中的re模塊中的findall函數(shù)可以對指定的字符串進(jìn)行遍歷匹配,如下:
findall(pattern, string, flags=0)
pattern:指定需要匹配的正則表達(dá)式。
string:指定待處理的字符串。
flags:指定匹配模式,常用的值可以是re.I、re.M、re.S和re.X。re.I的模式是讓正則表達(dá)式對大小寫不敏感;re.M的模式是讓正則表達(dá)式可以多行匹配;re.S的模式指明正則符號.可以匹配任意字符,包括換行符 ;re.X模式允許正則表達(dá)式可以寫得更加詳細(xì),如多行表示、忽略空白字符、加入注釋等。
字符串的匹配替換
re模塊中的sub函數(shù)的功能是替換,類似于字符串的replace方法,該函數(shù)根據(jù)正則表達(dá)式把滿足匹配的內(nèi)容替換為repl,如下:
sub(pattern, repl, string, count=0, flags=0)
pattern:同findall函數(shù)中的pattern。
repl:指定替換成的新值。
string:同findall函數(shù)中的string。
count:用于指定最多替換的次數(shù),默認(rèn)為全部替換。
flags:同findall函數(shù)。
字符串的匹配分割
re模塊中的split函數(shù)是將字符串按照指定的正則表達(dá)式分隔開,類似于字符串的split,如下:
split(pattern, string, maxsplit=0, flags=0)
pattern:同findall函數(shù)中的pattern。
maxsplit:用于指定最大分割次數(shù),默認(rèn)為全部分割。
string:同findall函數(shù)中的string。
flags:同findall函數(shù)中的flags。
以上就是本次分享的全部內(nèi)容了,不知大家對我講述的Python正則表達(dá)式妙用感覺怎么樣?
腦筋急轉(zhuǎn)彎:有人想喝點(diǎn)牛奶解渴,卻一命嗚呼了,為什么?