您好,登錄后才能下訂單哦!
如何在python中使用re.sub()方法替換字符串?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
pattern可以是一個字符串也可以是一個正則,用于匹配要替換的字符,如果不寫,字符串不做修改。\1 代表第一個分組
repl是將會被替換的值,repl可以是字符串也可以是一個方法。如果是一個字符串,反斜杠會被處理為逃逸字符,如\n會被替換為換行,等等。repl如果是一個function,每一個被匹配到的字段串執行替換函數。
\g<1> 代表前面pattern里面第一個分組,可以簡寫為\1,\g<0>代表前面pattern匹配到的所有字符串。
count是pattern被替換的最大次數,默認是0會替換所有。有時候可能只想替換一部分,可以用到count
實例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替換
實例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' #數字400 和 200 被hello替換
實例3:
a = re.sub(r'hello (\w+), nihao \1', r'emma','hello sherry, nihao sherry') >>> a 'emma' #\1代表第一個分組的值即sherry,因為有兩個sherry,所以用\1可以指代第二個,這樣整個字符串被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> 指代的的都是前面的第二個分組
示例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號' a = re.sub(r'(\d)', replace_num, my_str) print(a) #每次匹配一個數字,執行函數,獲取替換后的值
和sub()函數一樣,只是返回的是一個tuple,替換后的字符串和替換的個數
python的數據類型:1. 數字類型,包括int(整型)、long(長整型)和float(浮點型)。2.字符串,分別是str類型和unicode類型。3.布爾型,Python布爾類型也是用于邏輯運算,有兩個值:True(真)和False(假)。4.列表,列表是Python中使用最頻繁的數據類型,集合中可以放任何數據類型。5. 元組,元組用”()”標識,內部元素用逗號隔開。6. 字典,字典是一種鍵值對的集合。7. 集合,集合是一個無序的、不重復的數據組合。
看完上述內容,你們掌握如何在python中使用re.sub()方法替換字符串的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。