`
dqifa
  • 浏览: 116461 次
社区版块
存档分类
最新评论

用正则表达式去掉行号

 
阅读更多

 

        =====文件名:RegExDemoMain.cpp=====
/***************************************************************
 * Name:      RegExDemoMain.cpp
 * Purpose:   Code for Application Frame
 * Author:    emonkey (dqifa@163.com)
 * Created:   2012-10-08
 * Copyright: emonkey (http://emonkey.iteye.com/)
 * License:
 **************************************************************/

#include <wx/regex.h>
#include <wx/textfile.h>
#include <wx/log.h>
#include <wx/dcclient.h>
void RegExDemoFrame::OnAbout(wxCommandEvent& event)
{
    wxRegEx r;
    wxTextFile fin;
    wxTextFile fout("outfile.txt");
    fout.Create();
    r.Compile("\\D*\\d+\\s?[.|:|\\]|\\)]?\\s?",wxRE_ADVANCED);
    fin.Open("testfile.txt",wxConvAuto(wxFONTENCODING_CP936));
    //要加上wxConvAuto(wxFONTENCODING_CP936),否则中文会出现乱码
    if(fin.IsOpened())
    {
        wxString line,s;
        for(line=fin.GetFirstLine(); !fin.Eof(); line=fin.GetNextLine())
        {
            if(r.Matches(line))
            {
//                wxMessageBox(r.GetMatch(line));
                r.Replace(&line,"",1);
            }
            s<<line<<"\n";
            fout.AddLine(line);
        }
        //上面调用AddLine()方法并未将数据写入物理文件,所以一定要调用
        //Write( wxTextFileType typeNew = wxTextFileType_None,
        //const wxMBConv & conv = wxConvAuto() )方法,该方法调用成功时返回true.
        if(fout.Write(/*wxTextFileType_None,wxConvAuto(wxFONTENCODING_CP936)*/))
        {
            wxLogStatus("“testfile.txt”文件到“outfile.txt”文件转换已完成!");
//            wxLogStatus("文件转换已完成!");
        }
        fout.Close();
        fin.Close();

        //显示转换后的文件
        wxClientDC dc(this);

        wxFont font;
        font.SetPointSize(12);
        dc.SetFont(font);

        dc.SetTextForeground(wxColour(128,0,0));
        dc.DrawText(s,20,10);
    }
}
参考:
1、Python正则表达式如何删除代码行
http://www.wv168.com/HTML/PYTHON/2012/0627/6149.html
2、wxWidgets文件操作(二)wxTextFile
http://www.cnblogs.com/godspeedsam/archive/2011/03/16/1986302.html
  • 大小: 17.2 KB
分享到:
评论

相关推荐

    神器验证正则表达式去除复制代码前的序号

    例如,如果行号是连续的数字且位于每行的开头,我们可以使用类似`^\d+ `(这里`\d`代表数字,`+`表示一个或多个)的正则表达式来匹配这些行号。`^`符号表示匹配行的开始,空格` `则匹配行号之后的空格。 去除这些...

    sed_awk正则表达式

    本文将详细介绍如何通过`awk`和正则表达式的搭配使用来实现各种文本处理需求。 #### 二、基础概念回顾 **1. sed** `sed` (stream editor) 是一种流编辑器,用于对输入流进行文本变换和过滤。它可以用来自动执行...

    文本三剑客之grep及正则表达式 -.pdf

    - **定义**:`grep` 是 Linux 和 Unix 系统中的一种强大的文本搜索工具,它能够使用正则表达式来搜索文本,并将匹配的行打印出来。其全称是 Global Regular Expression Print,意为全局正则表达式版本。 - **功能**...

    sed-awk正则表达式

    两者都可以使用正则表达式作为模式,当匹配到模式时执行相应的动作。正则表达式的元字符如`.`、`*`、`^`、`$`、`[]`和`\`都有特殊的含义。例如,`^the$`会匹配以"the"开头且以"the"结尾的完整单词。 在实际使用中,...

    MyEclipse去除网上复制下来的代码带有的行号(正则去除行号)

    在MyEclipse中,你可以通过以下步骤使用此正则表达式去除行号: 1. 打开你含有行号的代码文件。 2. 按下快捷键 "Ctrl + F",这将打开查找/替换对话框。 3. 在 "查找" 文本框中输入上面的正则表达式 `^\s*\d+\.`。 4....

    MyEclipse删除网上复制下来的来代码带有的行号(正则去除行号)

    在输入了正则表达式后,可以将其应用于整个文件中,替换功能会自动找到所有匹配该模式的行,并去除行号部分。这样,原本带有行号的代码就会被转换成没有行号的标准代码格式,可以直接用于开发和调试。 除了使用...

    行号删除器

    在这个应用中,开发者可能定义了一个正则表达式来匹配源代码中的行号,例如以数字开头的行,然后使用Java的String类方法如replaceAll()来执行替换操作,从而达到删除行号的目的。 【压缩包子文件的文件名称列表】中...

    去掉源码行号 去除行号

    例如,在正则表达式模式下,可以使用`^\d+\s`作为查找模式,它会匹配以数字开头且后面跟着空格的行。 3. **使用编程语言处理**: - Python: 可以使用`pandas`库读取代码文件,然后使用`drop()`函数移除包含行号的...

    Delete-Line-Number.rar_Dot.

    在处理大型文本文件时,可能需要去除行号以便于数据分析或格式化输出。Perl的文本处理能力非常强大,通过读取文件,逐行处理,然后跳过包含行号的行,可以轻松实现这一目标。例如,脚本可能会使用内置的文件处理循环...

    CSDN去代码序号程序(JAVA版)

    例如,如果行号用空格隔开,可以使用`\s*\d+\s*`作为匹配模式。 3. **字符串处理**:处理后的每一行代码可能包含行号和代码,我们需要使用`String`类的方法如`substring()`或`replaceFirst()`来移除行号部分,只...

    使用idea 去除 html 代码前的行号和空行的方法详解

    接下来,需要在查找框中输入正则表达式,用于匹配行号和换行符,而在替换框中输入空字符串,以此实现去除行号的目的。 正则表达式“^\s*\d+\n”中的各个部分含义如下: - “^”符号表示匹配字符串的开始位置。 - ...

    去掉源码行号 v2.0

    这个工具可能是通过正则表达式或其他文本处理技术,查找并移除这些行号标记。 在实际操作中,使用这样的工具通常很简单,只需打开它提供的界面或者通过命令行执行,指定要处理的C#源代码文件,然后工具会处理文件并...

    editplus 代码编辑器html c++ jsp css

    具体解决方法,在 Editplus 中使用正则表达式,由于“(”、“)”被用做预设表达式(或者可以称作子表达式)的标志,所以查找 “ \n” 时会提示查找不到,所以也就无法进行替换了,这时可以把“(”、“)”使用任意...

    java反编译工具以及去掉注释工具

    我们利用jd-gui反编译.classs代码之后,导出来的java源代码里面含有/**,其实这些标记是之前的java源码的注释,我们如何去掉这些标识了?...原理很简单,用java的正则表达式清理每个文件中的jd相关的注释

    Editplus 3[1].0

    具体解决方法,在 Editplus 中使用正则表达式,由于“(”、“)”被用做预设表达式(或者可以称作子表达式)的标志,所以查找 “&lt;script LANGUAGE="JavaScript1.1"&gt;\n&lt;!--\nhtmlAdWH('93163607', '728', '90'.);\n//-...

    EditPlus 2整理信箱的工具

    具体解决方法,在 Editplus 中使用正则表达式,由于“(”、“)”被用做预设表达式(或者可以称作子表达式)的标志,所以查找 “&lt;script LANGUAGE="JavaScript1.1"&gt;\n&lt;!--\nhtmlAdWH('93163607', '728', '90'.);\n//-...

    java编写的消除行号的小工具

    在源码中,我们可以期待看到它使用`BufferedReader`读取文件,使用正则表达式或其他方法移除行号,然后使用`PrintWriter`将处理后的文本写入新文件。 总结来说,这个Java小工具是为了解决一个常见的文本处理问题...

Global site tag (gtag.js) - Google Analytics