找到行中的特定文本,然后用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();
我不想读取每一行并赋值,而是想写一个函数,当我在一行中搜索三个单词时,它会自动提取这一行,这对于更长的应用程序来说会更容易、更高效。
我也很感激其他方法。
如果你能使用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];