【问题标题】:C# Display only one line out of four returnedC# 只显示返回的四行中的一行
【发布时间】: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 如果有帮助,请标记为答案并点赞。

标签: c# regex linq


【解决方案1】:

假设您的文本文件名为“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();
                }
            }
            }

以上代码将解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-02
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多