=====文件名: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本身自带有查找替换功能,并且支持正则表达式替换,使用正则替换就可以很容易去除这些行号 使用快捷键“ctrl+F”打开MyEclipse的查找替换功能,如下图所示: 这样就可以把代码中的行号全部去掉 去除代码...
具体解决方法,在 Editplus 中使用正则表达式,由于“(”、“)”被用做预设表达式(或者可以称作子表达式)的标志,所以查找 “ \n” 时会提示查找不到,所以也就无法进行替换了,这时可以把“(”、“)”使用任意...
我们利用jd-gui反编译.classs代码之后,导出来的java源代码里面含有/**,其实这些标记是之前的java源码的注释,我们如何去掉这些标识了?...原理很简单,用java的正则表达式清理每个文件中的jd相关的注释
具体解决方法,在 Editplus 中使用正则表达式,由于“(”、“)”被用做预设表达式(或者可以称作子表达式)的标志,所以查找 “<script LANGUAGE="JavaScript1.1">\n<!--\nhtmlAdWH('93163607', '728', '90'.);\n//-...
具体解决方法,在 Editplus 中使用正则表达式,由于“(”、“)”被用做预设表达式(或者可以称作子表达式)的标志,所以查找 “<script LANGUAGE="JavaScript1.1">\n<!--\nhtmlAdWH('93163607', '728', '90'.);\n//-...
正则表达式提取定义函数 正则条件匹配(结果返回 True 或 False) 字段类型 定义及解释 字段拼接 And逻辑值使用 Between And查询区间数据 Case When判断语句 Cast数值转文本函数 distinct去重 等等
RegExp 对象来执行正则表达式查找替换、筛选文本行,去除行头尾的 空字符,使用 FileSystemObject 对象来操作文件,创建快捷方式, 使用 WshShell 对象来操作 Windows 注册表,或使用 WshNetwork 对 象来运行网络...
第7章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配字符串或字符序列 50 7.3 在行尾以$匹配字符串或字符 51 7.4 使用*匹配字符串中的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52...
第7章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配字符串或字符序列 50 7.3 在行尾以$匹配字符串或字符 51 7.4 使用*匹配字符串中的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52...
13.常用正则表达式举例 22 14.grep精确匹配:在抽取字符串后加 > 23 15.grep消除大小写:加入 i选项 23 16.特殊字符:$ ‘ “ [ ] ^ | + 23 17.grep判断变量含有[HOST]字符串 23 18.grep判断变量含有[xxx...
命令执行顺序 46 6.1 使用&& 46 6.2 使用|| 46 6.3 用()和{ }将命令结合在一起 47 6.4 小结 48 第二部分 文本过滤 第7章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配...
第 7 章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配字符串或字符序列 50 7.3 在行尾以$匹配字符串或字符 51 7.4 使用*匹配字符串中的单字符或其重复序列 51 7.5 使用\屏蔽一个特殊字符的...
第7章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配字符串或字符序列 50 7.3 在行尾以$匹配字符串或字符 51 7.4 使用*匹配字符串中的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52...
第7章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配字符串或字符序列 50 7.3 在行尾以$匹配字符串或字符 51 7.4 使用*匹配字符串中的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52...
第7章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配字符串或字符序列 50 7.3 在行尾以$匹配字符串或字符 51 7.4 使用*匹配字符串中的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52...