我有一个程序可以搜索特定的单词"周末"从文本文件。如果找到这个单词,那么程序将从单词周末经过它上面的每一行,并读取单词" MONTH"的每一行。找到"月后,它显示该行。这里的问题是可能有两个或更多周末"以下单词"月"。而不是显示"月"周末"周末"发现,即使发现三到两个周末,我只想回归一个月。
//文本文件'月六月'
中行的格式"平日
'周末'
'周末'
//找到的两个周末输出不是这样的:
" 6月和#34;
" 6月和#34;
//我希望它只返回一次:</ p>
&#34; 6月和#34;
我非常感谢您的帮助,因为我是c#的新手。我尝试实现LINQ和REGEX,但我失败了。我想我的熟练程度还不高。
这是我的代码:
string[] result = list.ToArray();
for (int i = 0; i < result.Length; i++)
{
if (result[i].Contains("weekend"))
{
var request = result[i];
ult = result[i - 1];
ault = result[i - 2];
if (ult.Contains("Month"))
{
Console.WriteLine(ult + "\r\n");
}
if (ault.Contains("Month"))
{
Console.WriteLine(ault + "\r\n");
}
}
}
答案 0 :(得分:0)
假设您的文本文件名是“Sample.txt”并包含在下面
Month Jan
Month Feb
Month March
Weekend
是您想要遍历的文本文件以满足目的。在这种情况下,您的代码应该是... ..
using (StreamReader sr = File.OpenText("Sample.txt"))
{
string s = String.Empty;
while ((s = sr.ReadLine()) != null)
{
if (!(s.Contains("Weekend")))
{
Console.WriteLine(s);
}
else
{
sr.Close();
}
}
}
以上代码可以解决您的问题。