python字符串替換re.sub()方法解析
pattern可以是一個(gè)字符串也可以是一個(gè)正則,用于匹配要替換的字符,如果不寫,字符串不做修改。\1 代表第一個(gè)分組
repl是將會(huì)被替換的值,repl可以是字符串也可以是一個(gè)方法。如果是一個(gè)字符串,反斜杠會(huì)被處理為逃逸字符,如\n會(huì)被替換為換行,等等。repl如果是一個(gè)function,每一個(gè)被匹配到的字段串執(zhí)行替換函數(shù)。
\g<1> 代表前面pattern里面第一個(gè)分組,可以簡(jiǎn)寫為\1,\g<0>代表前面pattern匹配到的所有字符串。
count是pattern被替換的最大次數(shù),默認(rèn)是0會(huì)替換所有。有時(shí)候可能只想替換一部分,可以用到count
實(shí)例1:
a = re.sub(r'hello', 'i love the', 'hello world') print(a)<br data-filtered="filtered">'i love the world' #hello world里面的hello被 i love the替換
實(shí)例2:
>>> a = re.sub(r'(\d+)', 'hello', 'my numer is 400 and door num is 200') >>> a 'my numer is hello and door num is hello' #數(shù)字400 和 200 被hello替換
實(shí)例3:
a = re.sub(r'hello (\w+), nihao \1', r'emma','hello sherry, nihao sherry') >>> a 'emma' #\1代表第一個(gè)分組的值即sherry,因?yàn)橛袃蓚€(gè)sherry,所以用\1可以指代第二個(gè),這樣整個(gè)字符串被emma替換
示例4:
>>> a = re.sub('(\d{4})-(\d{2})-(\d{2})', r'\2-\3-\1', '2018-06-07') >>> a '06-07-2018' >>> a = re.sub('(\d{4})-(\d{2})-(\d{2})', r'\g<2>-\g<3>-\g<1>', '2018-06-07') >>> a '06-07-2018' #\2 和 \g<2> 指代的的都是前面的第二個(gè)分組
示例5:
import re def replace_num(str): numDict = {'0':'〇','1':'一','2':'二','3':'三','4':'四','5':'五','6':'六','7':'七','8':'八','9':'九'} print(str.group()) return numDict[str.group()] my_str = '2018年6月7號(hào)' a = re.sub(r'(\d)', replace_num, my_str) print(a) #每次匹配一個(gè)數(shù)字,執(zhí)行函數(shù),獲取替換后的值
和sub()函數(shù)一樣,只是返回的是一個(gè)tuple,替換后的字符串和替換的個(gè)數(shù)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python基礎(chǔ)常用內(nèi)建函數(shù)圖文示例解析
這篇文章主要為大家Python常用內(nèi)建函數(shù),文中通過圖例詳細(xì)的給大家作出了講解分析,有需要的朋友可以借鑒參考下,希望可以有所幫助2021-09-09Pygame游戲開發(fā)之太空射擊實(shí)戰(zhàn)精靈的使用上篇
相信大多數(shù)8090后都玩過太空射擊游戲,在過去游戲不多的年代太空射擊自然屬于經(jīng)典好玩的一款了,今天我們來自己動(dòng)手實(shí)現(xiàn)它,在編寫學(xué)習(xí)中回顧過往展望未來,下面開始講解精靈的使用2022-08-08查看keras的默認(rèn)backend實(shí)現(xiàn)方式
這篇文章主要介紹了查看keras的默認(rèn)backend實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06python?通過dict(zip)和{}的方式構(gòu)造字典的方法
在python中,通常通過dict和zip組合來構(gòu)建鍵值對(duì),這篇文章主要介紹了python?通過dict(zip)和{}的方式構(gòu)造字典的方法,需要的朋友可以參考下2022-07-07基礎(chǔ)語音識(shí)別-食物語音識(shí)別baseline(CNN)
這篇文章主要介紹了一個(gè)基礎(chǔ)語音識(shí)別題目-食物語音識(shí)別baseline(CNN),代碼詳細(xì)嗎,對(duì)于想要學(xué)習(xí)語音識(shí)別的朋友可以參考下2021-04-04使用 Python 實(shí)現(xiàn)文件遞歸遍歷的三種方式
這篇文章主要介紹了使用 Python 實(shí)現(xiàn)文件遞歸遍歷的三種方式,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-07-07基于python實(shí)現(xiàn)垂直爬蟲系統(tǒng)的方法詳解
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)垂直爬蟲系統(tǒng)的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03