【发布时间】:2016-07-01 14:45:04
【问题描述】:
我有一个程序可以从文本文件中搜索特定单词“周末”。如果找到了这个词,程序就会从周末开始遍历它上面的每一行,并读取每一行的单词“MONTH”。一旦找到“月份”,它就会显示该行。这里的问题是“月份”下面可以有两个或多个“周末”单词。而不是显示“月份”找到的“周末”数量,我只想返回一个月虽然发现三两个周末都是这样。
//文本文件'Month June'中各行的格式
"工作日
'周末'
'周末'
//发现两个周末的输出不是这样的:
“六月”
“六月”
//我希望它像这样只返回一次:
“六月”
您的帮助将不胜感激,因为我是 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");
}
}
}
【问题讨论】:
-
这和正则表达式有什么关系?或林克?只需搜索月份,然后阅读所有周末,直到再次找到月份
-
你检查过我的答案吗。可能不准确,因为你的要求不清楚,但逻辑和编码方式是一样的。如果有帮助,请尝试告诉我
-
@Lara:关于我希望它如何发挥作用并不准确,但它让我知道我应该做什么并且我能够解决问题。请原谅我不够清楚。无论如何都非常感谢。 :)
-
@Kampion 如果有帮助,请标记为答案并点赞。