除了一些专业的工具,例如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应该不是难事。
标签:1949,splitList,python,周年,正则表达式,内容,str,成立 From: https://www.cnblogs.com/lzfhope/p/17152957.html