Python使用正则表达式替换源码前序号

从博客园或其它地方拷贝代码,经常前面有代码序号,像下面这个样子:

 1 wbContent.Navigate(vURL);
 2
 3     Result:=GetHtml(wbContent);
 4
 5     while not ContainsText(Result,'共找到') do
 6     begin
 7       Sleep(100);
 8       Application.ProcessMessages;
 9       Result:=GetHtml(wbContent);
10     end;
11
12     Result:=GetHtml(wbContent);

可以使用Python的正则表达式来简单地去掉前面的序号:

import re,sys

def refile():
    
    #sf='e:\\temp\\t.txt'
    #df='e:\\temp\\t_new.txt'

    #命令行输入
    argvc=len(sys.argv)
    if argvc==1:
        sf=input('请输入要转换的原文件名:')
        df=input('请输入要转换的目标文件名:')
    if argvc==2:
        sf=sys.argv[1]
        df=input('请输入要转换的目标文件名:')
    if argvc==3:
        sf=sys.argv[1]
        df=sys.argv[2]

    fr=open(sf,'r')
    fw=open(df,'w')
    pat=re.compile('\A(\s\d)|(\d{1,3})')
    s=fr.readline()
    while s:
       m=pat.match(s)
       s=fr.readline()
       if m:
          ss=re.sub(pat, '', s)
       else:
          ss=s
       fw.write(ss+'\n')
    fr.close()
    fw.close()

if __name__ == '__main__':
    refile()

上面只是简单示例,将拷贝出来的源码存为t.txt,然后运行程序,则会生成t_new.txt文件。

原文地址:https://www.cnblogs.com/GarfieldTom/p/2194569.html