欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python字符串替換re.sub()實(shí)例解析

 更新時(shí)間:2020年02月09日 11:17:30   作者:郭雪原  
這篇文章主要介紹了python字符串替換re.sub()實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了python字符串替換re.sub()實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

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

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ù),獲取替換后的值

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

和sub()函數(shù)一樣,只是返回的是一個(gè)tuple,替換后的字符串和替換的個(gè)數(shù)  

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論