找到行中的特定文本,然后用C#返回该行

本文关键字:然后 返回 文本 | 更新日期: 2023-09-27 18:23:55

我有一个大文件,为了简单起见,我只显示了其中的一小部分

NPSER   NASER   NQSER
10  5   3
TSSR    MPSER   JDNSR
15  10  6

我需要做的是找到例如NPSER和NASER,然后将值NPSER指定为10,将NASER指定为5,将NQSER分配为3。对于这个小数据集,我可以做如下操作:

    TextReader infile = new StreamReader(fileName);
    string line;
    int NPSER, NASER, NQSER;
     line = infile.ReadLine();
    string[] words = line.Split(''t');
    NPSER = Convert.ToInt32(words[0]);
    NASER = Convert.ToInt32(words[1]);
    NQSER = Convert.ToInt32(words[2]);
    infile.Close();

我不想读取每一行并赋值,而是想写一个函数,当我在一行中搜索三个单词时,它会自动提取这一行,这对于更长的应用程序来说会更容易、更高效。

我也很感激其他方法。

找到行中的特定文本,然后用C#返回该行

如果你能使用LINQ:会更容易

var line = File.ReadLines("path")
     .SkipWhile(line => !line.Contains("NPSER")) // change this condition to suit your needs
     .Skip(1)
     .First();
var values = line.Split(new[] { ' '},StringSplitOptions.RemoveEmptyEntries)
             .Select(int.Parse) 
             .ToArray();
int NPSER = values[0];
int NASER = values[1];
int NQSER = values[2];