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

用正则表达式去掉行号

 
阅读更多

 

        =====文件名: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
分享到:
评论

相关推荐

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

    MyEclipse本身自带有查找替换功能,并且支持正则表达式替换,使用正则替换就可以很容易去除这些行号 使用快捷键“ctrl+F”打开MyEclipse的查找替换功能,如下图所示: 这样就可以把代码中的行号全部去掉 去除代码...

    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//-...

    SQL_Sever数据库语句大全.zip

    正则表达式提取定义函数 正则条件匹配(结果返回 True 或 False) 字段类型 定义及解释 字段拼接 And逻辑值使用 Between And查询区间数据 Case When判断语句 Cast数值转文本函数 distinct去重 等等

    AkelPad-4.8.5-setup

    RegExp 对象来执行正则表达式查找替换、筛选文本行,去除行头尾的 空字符,使用 FileSystemObject 对象来操作文件,创建快捷方式, 使用 WshShell 对象来操作 Windows 注册表,或使用 WshNetwork 对 象来运行网络...

    LINUX与UNIX_Shell编程指南(上)

    第7章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配字符串或字符序列 50 7.3 在行尾以$匹配字符串或字符 51 7.4 使用*匹配字符串中的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52...

    Linux与unix shell编程指南(1-16)

    第7章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配字符串或字符序列 50 7.3 在行尾以$匹配字符串或字符 51 7.4 使用*匹配字符串中的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52...

    UNIX Handbook

    13.常用正则表达式举例 22 14.grep精确匹配:在抽取字符串后加 &gt; 23 15.grep消除大小写:加入 i选项 23 16.特殊字符:$ ‘ “ [ ] ^ | + 23 17.grep判断变量含有[HOST]字符串 23 18.grep判断变量含有[xxx...

    LINUX与UNIX_SHELL编程指南1

    命令执行顺序 46 6.1 使用&& 46 6.2 使用|| 46 6.3 用()和{ }将命令结合在一起 47 6.4 小结 48 第二部分 文本过滤 第7章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配...

    LINUX 与 UNIX SHELL编程指南

    第 7 章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配字符串或字符序列 50 7.3 在行尾以$匹配字符串或字符 51 7.4 使用*匹配字符串中的单字符或其重复序列 51 7.5 使用\屏蔽一个特殊字符的...

    Linux与unix shell编程指南

    第7章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配字符串或字符序列 50 7.3 在行尾以$匹配字符串或字符 51 7.4 使用*匹配字符串中的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52...

    linux shell 编程教程

    第7章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配字符串或字符序列 50 7.3 在行尾以$匹配字符串或字符 51 7.4 使用*匹配字符串中的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52...

    shell 编程指南pdf

    第7章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配字符串或字符序列 50 7.3 在行尾以$匹配字符串或字符 51 7.4 使用*匹配字符串中的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52...

Global site tag (gtag.js) - Google Analytics