正则搜索内容并自定义替换
来源:互联网 发布:淘宝信用卡在哪里开通 编辑:程序博客网 时间:2024/05/23 20:21
#正则搜索内容并自定义替换
#使用自行修改
#没替换成功常见错误
#没找到要替换的字符串
#正则式不对
import re
#1 use number serial to replace
#2 use define word in file to replace
#3 use constent word to replace
replace_methed=3
#input text
sourcefile="D:\\test\\rep.txt"
#output text
destfile="D:\\test\\rep_1.txt"
srcf=open(sourcefile,"r")
#1
reptag=0
#2
f2=open("D:\\test\\gg.txt","r")
replists=f2.readlines()
replists_pos=0
#3 constent string to replace
repstring="example string"
#compile the regex of searching string
myre=re.compile("(\n)",re.I | re.DOTALL | re.MULTILINE)
#source content
content=srcf.read()
#test content
#content="xxxxxasdfa sdfsab sdfklsajfa asdfkdjsflb"
dd=myre.search(content)
newcontent=""
while dd!=None:
newcontent+=content[:dd.start()]
for ddi in range(1,len(dd.groups())+1):
if(ddi==1):
if(replace_methed==1):
newcontent+=str(reptag)
reptag+=1
elif(replace_methed==2):
if(replists_pos<len(replists)):
if(replists[replists_pos].endswith("\n")):
newcontent+=replists[replists_pos][:-1]
else:
newcontent+=replists[replists_pos]
replists_pos+=1
else:
replists_pos=0
if(replists[replists_pos].endswith("\n")):
newcontent+=replists[replists_pos][:-1]
else:
newcontent+=replists[replists_pos]
replists_pos+=1
elif(replace_methed==3):
newcontent+=repstring
reptag+=1
else:
newcontent+=dd.group(ddi)
content=content[dd.end():]
dd=myre.search(content)
if(dd==None):
newcontent+=content
destf=open(destfile,"w")
destf.write(newcontent)
destf.close()
srcf.close()
#使用自行修改
#没替换成功常见错误
#没找到要替换的字符串
#正则式不对
import re
#1 use number serial to replace
#2 use define word in file to replace
#3 use constent word to replace
replace_methed=3
#input text
sourcefile="D:\\test\\rep.txt"
#output text
destfile="D:\\test\\rep_1.txt"
srcf=open(sourcefile,"r")
#1
reptag=0
#2
f2=open("D:\\test\\gg.txt","r")
replists=f2.readlines()
replists_pos=0
#3 constent string to replace
repstring="example string"
#compile the regex of searching string
myre=re.compile("(\n)",re.I | re.DOTALL | re.MULTILINE)
#source content
content=srcf.read()
#test content
#content="xxxxxasdfa sdfsab sdfklsajfa asdfkdjsflb"
dd=myre.search(content)
newcontent=""
while dd!=None:
newcontent+=content[:dd.start()]
for ddi in range(1,len(dd.groups())+1):
if(ddi==1):
if(replace_methed==1):
newcontent+=str(reptag)
reptag+=1
elif(replace_methed==2):
if(replists_pos<len(replists)):
if(replists[replists_pos].endswith("\n")):
newcontent+=replists[replists_pos][:-1]
else:
newcontent+=replists[replists_pos]
replists_pos+=1
else:
replists_pos=0
if(replists[replists_pos].endswith("\n")):
newcontent+=replists[replists_pos][:-1]
else:
newcontent+=replists[replists_pos]
replists_pos+=1
elif(replace_methed==3):
newcontent+=repstring
reptag+=1
else:
newcontent+=dd.group(ddi)
content=content[dd.end():]
dd=myre.search(content)
if(dd==None):
newcontent+=content
destf=open(destfile,"w")
destf.write(newcontent)
destf.close()
srcf.close()
- 正则搜索内容并自定义替换
- 根据正则 替换字符串内容 并返回替换内容后的字符串
- vim 正则搜索替换
- vim 正则搜索替换
- sublime搜索和替换--正则
- Editplus中正则替换内容
- mysql 正则表达式替换内容
- 正则匹配空格并替换
- 正则匹配 字符串 并替换
- IntelliJ IDEA全局内容搜索和替换
- UltraEdit正则表达式搜索替换小技巧
- UltraEdit正则表达式搜索替换小技巧
- UltraEdit正则表达式搜索替换小技巧
- UltraEdit正则表达式搜索替换小技巧
- UltraEdit正则表达式搜索替换小技巧
- UltraEdit正则表达式搜索替换小技巧
- UltraEdit正则表达式搜索替换小技巧
- UltraEdit正则表达式搜索替换小技巧
- css基础学习{三}:滤镜特效
- LDD3学习笔记(11):内存分配
- 电梯下坠时怎么办?
- Javascript基础学习(一):浏览器内部对象
- java引用类型
- 正则搜索内容并自定义替换
- error C2872: 'ofstream' : ambiguous symbol 错误解决
- OPENGL 教程网站
- 有关C、C++的有用网站
- How to Use File Choosers
- 使用 live555 直播来自 v4l2 的摄像头图像
- MMORPG负载均衡机制
- 如何用VC++6编辑器调试C程序
- 几种开源SIP协议栈对比