删除多行注释行c#" //或/*...*/"

时间:2013-06-04 12:14:26

标签: c# regex

任何人都可以帮助我,如果它有'//'或单行或多行评论等评论,如何删除行'/*...*/'

例如:

/\*#define                0x00000000*/

//#define                0x00180000

// #define                0x20000000

// abcd

/*#define                0x00080000

   #define               0x40000000*/

   #define               0x00014000 

   #define               0x00000800
/* defg  */

 #define                 0x00080000

 #define                 0x40000000

输出应为

 #define               0x00014000 

 #define               0x00000800

 #define                 0x00080000

 #define                 0x40000000

在C#中使用Regex或任何其他方法,提前谢谢

2 个答案:

答案 0 :(得分:0)

如果您的文件格式正确,只需执行读取行,并使用string.containt(...)检查字符串是否包含“/, *,”。

如果是这种情况,请将其删除。

提示:将列表中的好行显示为显示您的输出。

希望这可以帮到你。

如果不抱歉。

答案 1 :(得分:0)

好吧,这个正则表达式(^\/\/.*?$)|(\/\*.*?\*\/)Rubular proof)将匹配(并且可能会删除,如果您使用Visual Studio并将其替换为空)以下示例文本中的以下行:

//#define                0x00180000

// #define                0x20000000

// abcd

/*#define                0x00080000

   #define               0x40000000*/

/* defg  */

几乎可以得到你想要的东西。现在,我怀疑这一行/\*#define 0x00000000*/,但如果你想捕获它,你可以将正则表达式修改为(^\/\/.*?$)|(\/.*?\*.*?\*\/)Rubular proof)。