正則表達式之 sub 替換字符


Python 的 re 模塊提供了re.sub用於替換字符串中的匹配項

 語法:

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

參數:

  • pattern : 正則中的模式字符串。
  • repl : 替換的字符串,也可為一個函數。
  • string : 要被查找替換的原始字符串。
  • count : 模式匹配后替換的最大次數,默認 0 表示替換所有的匹配。
 1 # coding=utf-8
 2 import re
 3 import logging
 4 
 5 # 刪掉 Python的注釋內容
 6 s = '2020-8-13 14:20:24 # 這是一個時間'
 7 
 8 logging.warning(re.sub(r'(#.*$)', '', s))
 9 
10 # 刪掉 : 替換才能 -
11 s = '2020-8-13 14:20:24 # 這是一個時間'
12 
13 logging.warning(re.sub(r'(:)', '-', s))
案例

 以上實例執行結果如下:

WARNING:root:2020-8-13 14:20:24 
WARNING:root:2020-8-13 14-20-24 # 這是一個時間

repl 參數是一個函數

以下實例中將字符串中的匹配的數字乘以 2:

 1 # coding=utf-8
 2 import re
 3 import logging
 4 
 5 s = 'A1B2C55'
 6 
 7 
 8 def double(res):
 9     return str(int(res.group('value')) * 2)
10 
11 
12 logging.warning(re.sub('(?P<value>\d+)', double, s))
案例

執行輸出結果為:

WARNING:root:A2B4C110

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM