正则表达式项目,批量修改文件
生活随笔
收集整理的這篇文章主要介紹了
正则表达式项目,批量修改文件
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
事情起因是這樣的,我們老師用R markdown 寫了一本書,但書里存在公式上的錯誤,需要在公式處加美元符號。于是我們就愉快地接下了改符號的任務(wù)。
因為想偷懶,所以試著用python程序?qū)崿F(xiàn)批量添加符號,參考代碼如下:
import relist0 = list(range(2,24)) list0.extend([26]) for i in list0:with open('D:\\programe\\2824139246\\FileRecv\\金融時序\\chap%ds.Rmd' %i, encoding='utf-8') as f:data = f.read()b = re.sub(pattern='[\u4E00-\u9FA5][0-9a-zA-Z{} _\\\=^+\-()*,:><|.&]*\\\[0-9a-zA-Z{} _\\\=^+\-()*,:><|.&]*',repl=lambda x: x.group(0)[0] + '$' + x.group(0)[1:] + '$',string=data)b = re.sub(pattern='[\u4E00-\u9FA5][0-9a-zA-Z{} _\\\=^+\-()*,:><|.&]*_[0-9a-zA-Z{} _\\\=^+\-()*,:><|.&]*',repl=lambda x: x.group(0)[0] + '$' + x.group(0)[1:] + '$',string=b)b = re.sub(pattern='\n[0-9a-zA-Z{} _\\\=^+\-()*,:><|.&]*\\\[0-9a-zA-Z{} _\\\=^+\-()*,:><|.&]*\n',repl=lambda x: x.group(0)[0] + '$' + x.group(0)[1:-1] + '$' + x.group(0)[-1],string=b)b = re.sub(pattern='\$\\\\begin[^\u4E00-\u9FA5]+\$',repl=lambda x: x.group(0).strip('$'),string=b)with open("D:\\%d.Rmd" %i, "w", encoding='utf-8') as f:f.write(b)第一第二條的核心思想是匹配中文字符間有’_’,’‘符號的內(nèi)容
第三條匹配兩換行符眾有’‘的內(nèi)容
最后一條是把含有’\begin’的內(nèi)容去掉美元符號。
總結(jié)
以上是生活随笔為你收集整理的正则表达式项目,批量修改文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务器系统可以重装系统,服务器上可以重装
- 下一篇: Unity 之 UGUI Dropdow