【问题标题】:How to split text file by comments symbols in C# [duplicate]如何在C#中通过注释符号分割文本文件[重复]
【发布时间】:2021-08-31 20:15:17
【问题描述】:

我正在尝试通过其中的 cmets 拆分代码文件(视为文本文件)。 例如,对于输入:

// 大家好,我想在这里寻求帮助。
// 我真的很想一个人做这件事。
/* 但我仍然在寻找帮助
在我们的好朋友 Google 中。*/

我希望得到输出:

大家好,我想在这里寻求帮助。
我真的很想一个人做这件事。
但我仍然在我们的好朋友 Google 中寻求帮助。

所以基本上我想识别文件中有一个 cmets(通过符号 // 和 /* */)并在列表中输入 cmets(每个注释在不同的单元格中)。

我试图通过代码行来做到这一点:codeFile.Split('//', '/', '/'); 但没有成功。 同样,由于在使用“/* */”符号时可以进行多行注释,所以我如何将它们之间的内部字符串输入到我的列表中,因为我是按行遍历文件的?

提前致谢。

【问题讨论】:

标签: c# split


【解决方案1】:

我会做类似的事情:

  • 每行读取文件行
  • 根据您的不同条件检查行是否与 Regex 匹配。
  • 使用您从检查中获得的信息构建一个新字符串(如果需要,可以使用换行符)。您将能够处理多行因素。

希望这会有所帮助。

【讨论】:

  • 当我尝试使用正则表达式时:stringsingelCommentPattern = "[\s\S]([^a-zA-Z/][^\n\r][a-zA-Z /]?//.*[/]*)";编译器给了我一个无法识别的转义序列的错误
  • 你的“//”是一个正则表达式,把它改成\/\/。 (正斜杠前面的反斜杠)。此外,请考虑使用 regexr.com 检查您的正则表达式结构以验证您的表达式。
  • 使用正则表达式是一项艰巨的工作,但它得到了回报!现在运行良好。
猜你喜欢
  • 2011-12-20
  • 2016-03-21
  • 1970-01-01
  • 2013-10-06
  • 1970-01-01
  • 2011-12-28
  • 1970-01-01
  • 2013-02-11
  • 1970-01-01
相关资源
最近更新 更多