如何搜索字符串,例如#Test1在文本文件中,然后将其下面的行输出为字符串,例如
Test.txt的
#Test1
86/100
#Test2
99/100
#Test3
13/100
所以如果#Test2是搜索关键字“99/200”将变成字符串
答案 0 :(得分:2)
解析文件一次,将结果存储在字典中。然后在字典中查找。
var dictionary = new Dictionary<string, string>();
var lines = File.ReadLines("testScores.txt");
var e = lines.GetEnumerator();
while(e.MoveNext()) {
if(e.Current.StartsWith("#Test")) {
string test = e.Current;
if(e.MoveNext()) {
dictionary.Add(test, e.Current);
}
else {
throw new Exception("File not in expected format.");
}
}
}
现在你可以说
Console.WriteLine(dictionary["#Test1"]);
等
另外,长期来看,我建议你搬到数据库。
答案 1 :(得分:1)
使用readline并搜索字符串(例如#Test1),然后使用下一行作为输入。
答案 2 :(得分:0)
如果以上是文件格式。然后你可以使用这个
1. read all lines till eof in an array.
2. now run a loop and check if the string[] is not empty.
Hold the value in some other array or list.
now you have items one after one. so whenever you use loop and use [i][i+1],
it will give you the test number and score.
希望这可能有所帮助。
答案 3 :(得分:-1)
RegularExpressions怎么样? here's a good example
答案 4 :(得分:-1)
这应该适合你:
int lineCounter = 0;
StreamReader strReader = new StreamReader(path);
while (!strReader.EndOfStream)
{
string fileLine = strReader.ReadLine();
if (Regex.IsMatch(fileLine,pattern))
{
Console.WriteLine(pattern + "found in line " +lineCounter.ToString());
}
lineCounter++;
}