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

本文介绍了一个简单的Python脚本,用于去除从博客园等网站复制的代码片段中的行号。通过正则表达式匹配并替换掉代码前的数字序号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 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文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值