现在要删除程序的注释,由于涉及N多.cs文件,注释一般又是有规则可找,当然想到写几行代码用来删除了,注释主要以两种形式存在,一是在行首以"//"开头,像这种可以删除该行可.二是程序行尾的注释,即
if(a==b) //.......
这种只能删除"//"即该字符后字符串即可.
不知有什么好方法,用正则表达式吗.不是太熟悉.请大家给了建议或直接解决代码.(IDE不知道是否自带对注释处理功能)
if(a==b) //.......
这种只能删除"//"即该字符后字符串即可.
不知有什么好方法,用正则表达式吗.不是太熟悉.请大家给了建议或直接解决代码.(IDE不知道是否自带对注释处理功能)
解决方案 »
- C#文件上传问题,你有没有这样试过?
- 泛型T的疑问
- 紧急求助,ACCESS数据库无法删除记录,在线等待,谢谢!
- dll指针参数C#中如何解决
- 超级菜鸟问题-如何更改程序的启动项
- “/”应用程序中的服务器错误。
- 怎样提高listview添加数据的速度?
- C# . Net 被 VB6.0 调用 但是VB6.0 传递过来的参数对象为: System._ComObject 怎么转换?
- 任何从一个具有大批量数据的表中取指定页的20行,写出数据库分页的SQL语句,并说明执行语句的性能瓶颈主要在哪部分。在线 急急!!
- 怎样使用STUDIO来嵌入自己的资源文件?
- 有做过论坛经验的人士快来看一下这个问题,算不到或许是你们经常碰见一个问题,欢迎前来指导!!
- 超级难问题
ultraedit可以列出所有带//的地方。
1、//
2、/*...*/
3、///
但是我们考虑第1种的时候也就解决了第三种情况的注释,所以我们实际上指需要考虑两种注释。首先,我们一行一行的读取,然后将读取的字符串(比如为str),判断其期开始的字符串是否为我们的注释符,参考代码(注意去掉空格):
//设置一个类成员,表示该行是否属于多行注释;
boole state=false;private void button1_click(...)
{
//读取一行if(str.Trim().EndsWith("*/"))
{//多行注释结束行,删除;
this.state=false;
break;
}
if(state==true){
//该行为多行注释中的一行,删除
}
if(str.Trim().StartsWith("//")
{//单行注释,删除;
break;
}
if(str.Trim().StartsWith("/*"))
{//多行注释,删除;
this.state=true;
breeak;
}经过判断,改行不是注释行,可保留
}在规范代码中,可已通过上面四个判断,将注释代码清除,非注释代码可以复制到一个文本区保留,最后存储。非规范代码,不保证通过,特别有的人习惯:int i=3;//定义变量如果用我的方法,上面的语句也将被删除
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(pattern);
str = regex.Replace(str, "");string pattern2 = @"/\*.*\*/";
System.Text.RegularExpressions.Regex regex2 = new System.Text.RegularExpressions.Regex(pattern2, System.Text.RegularExpressions.RegexOptions.Singleline);
str = regex2.Replace(str, "");
textBox1.Text = str;
楼主留下 e_mail ,偶这有一个别人写的删除程序中的注释的小程序(C#源码)