Python中的文本替換

  • 2020 年 1 月 10 日
  • 筆記

文本替換是字符串的基本操作,Python的str提供了replace方法:

src = '那個人看起來好像一條狗,哈哈'  print(src.replace(',哈哈', '.'))

上面代碼最後的輸出結果是:

那個人看起來好像一條狗.

對於習慣了Java中的replace,Python的replace用起來有些不適應,因為後者不支持直接使用正則表達式。要實現通過正則表達式的替換,可以配合Python的正則表達式模塊使用。比如:

"""  替換掉字符串value內豎線之後的的內容  """  import re    src = '[{"name":"date","value":"2017數據"},{"name":"年收入","value":"3000|{"url":"http://www.abc.com/chart/income","x":"0","y":"456.172820"}"},{"name":"稅款","value":"-"},{"name":"人數","value":"3419"},{"name":"部門","value":"27|{"url":"http://www.abc.com/department/list","x":"0","y":"155.852820"}"},{"name":"部門營收","value":"-"}]'    #通過則表達式查找,如果有多個匹配,只能獲取到最後一個  matches = re.search('|{.*?"}', src)  while matches is not None:      src = src.replace(matches.group(0), '')      matches = re.search('|{.*?"}', src)    print(src)

最後的結果:

[{"name":"date","value":"2017數據"},{"name":"年收入","value":"3000"},{"name":"稅款","value":"-"},{"name":"人數","value":"3419"},{"name":"部門","value":"27"},{"name":"部門營收","value":"-"}]