使用正则表达式和行号

时间:2017-10-17 18:38:28

标签: c#

我需要在文件中找到如下字符串:

_["Some text"];

or 

_.Plural(1, "Some text", "Some text plural);

我使用以下方法循环文件文本行:

using (StreamReader reader = File.OpenText(file)) {

  String line;

  while ((line = reader.ReadLine()) != null) {

  }          
}          

在我需要获得的每一行中:

"Some text" 

OR

"Some text", "Some text plural"

在这两种情况下,我都需要为每个实例获取文件中的行号。

如何使用正则表达式?

1 个答案:

答案 0 :(得分:0)

使用这些SO帖子中的模式和逻辑:
https://stackoverflow.com/a/171483/1634205
https://stackoverflow.com/a/4892517/1634205

遵循本教程:
https://www.dotnetperls.com/regex-file

试试这个:

    static void Main(string[] args)
    {
        Regex pattern = new Regex("\"(.*?)\"");

        string file = @"C:\where\your-file\is\file.txt";

        using (StreamReader reader = File.OpenText(file))
        {
            string line;

            while ((line = reader.ReadLine()) != null)
            {
                foreach (Match match in pattern.Matches(line))
                {
                    Console.WriteLine(match.Value);
                }
            }
        }

        Console.ReadLine();
    }