除了一些專業的工具,例如ue,大部分變成語言的函式包都挺讓人迷惑的,
因為的確有許多功能是很常用的,但是他們又不提供,非得要程式員自己去實作,或者是利用三方的包.
例如我們會有這樣的要求:找到文本中特定內容,并且把找到的部分修飾一下(例如增加一些字符或者添加一些符號),
直接上代碼,讀者就能夠明白:
import re;
strs="1949前人間正道是滄桑,1949年新中國成立,2019年新中國成立70周年,2023年中國成立74周年,2049年成立100周年,我們期待那一天的到來";
p=re.compile("[0-9]{3,}"); #查找三位數以上的情況 replaceFun=lambda x:'【'+x+'】'; def replaceAndReserve(str,fun): foundedList=p.findall("_$_"+str+"_$_"); splitList=p.split(str); if len(splitList)>0: newStr=""; foundQty=len(foundedList); i=0; while i<foundQty: newStr+=fun(foundedList[i])+splitList[i+1]; i+=1; newStr=splitList[0]+newStr; newStr=newStr.replace("_$_",""); return newStr; else: return ""; print(replaceAndReserve(strs,replaceFun));
結果:【1949】前人間正道是滄桑,【1949】年新中國成立,【2019】年新中國成立70周年,【2023】年中國成立74周年,【2049】年成立【100】周年,我們期待那一天的到來
實作這個并不難,因為上面這個就是基于findall和split基礎上,既然已經可以那樣,順便再寫一個replace應該不是難事,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/544941.html
標籤:其他
