zoukankan      html  css  js  c++  java
  • 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文件。

  • 相关阅读:
    洛谷P1306 斐波那契公约数
    Codevs 1688 求逆序对(权值线段树)
    poj1006 Biorhythms
    2017-9-2 NOIP模拟赛
    洛谷P1633 二进制
    洛谷P2513 [HAOI2009]逆序对数列
    洛谷P2687 [USACO4.3]逢低吸纳Buy Low, Buy Lower
    洛谷P2285 [HNOI2004]打鼹鼠
    2017-8-31 NOIP模拟赛
    洛谷P2134 百日旅行
  • 原文地址:https://www.cnblogs.com/GarfieldTom/p/2194569.html
Copyright © 2011-2022 走看看