【问题标题】:Is it possible to filter a TextFile in listview in C#是否可以在 C# 的列表视图中过滤文本文件
【发布时间】:2017-03-15 14:36:42
【问题描述】:

例如我的文本文件中的值

1.Description=DATABASESECRIPTION1
1.name = TEST1
1.age = 18

2.Description=DATABASESECRIPTION2
2.name = TEST1
2.age = 14

3.Description=DATABASESECRIPTION3
3.name = TEST1
3.age = 18

我只想看看

1.Description=DATABASESECRIPTION1
2.Description=DATABASESECRIPTION2
3.Description=DATABASESECRIPTION3

我只想在文本文件中显示描述的值,我该怎么做? 我该如何过滤这个。

我的代码

Stream mystream;
            OpenFileDialog openFileDialog = new OpenFileDialog();
            if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                if ((mystream = openFileDialog.OpenFile()) != null)
                {
                    string strfilname= openFileDialog.FileName;
                    string filetext = File.ReadAllText(strfilname);
                    ListVIew.Text = filetext;
                }

【问题讨论】:

    标签: c# visual-studio listview filter text-files


    【解决方案1】:

    您只需检查您的行是否包含“描述”。如果是这样,请从“=”字符中获取其余文本。检查这个:

      var list = new List<string>();
            var text = File.ReadAllLines("1.txt");
            foreach (var s in text)
            {
                if (s.Contains("Description"))
                {
                    var desc = s.Substring(s.IndexOf("=") + 1);
                    list.Add(desc);
                }
            }
    

    LINQ:

    list.AddRange(from s in text where s.Contains("Description") select s.Substring(s.IndexOf("=") + 1));
    

    这是结果:

    【讨论】:

    • 我只得到最后的描述而不是所有的描述
    • 只有2.description是什么意思?我更新了我的答案。我从 txt 文件中得到了每一个描述。我还添加了 linq 版本。 @user7103900
    【解决方案2】:

    过滤包含“.Description=”的行。

    var fileLines = filetext.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
    ListVIew.Text = fileLines.Where(l => l.Contains(".Description="));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      • 1970-01-01
      • 2017-12-16
      • 1970-01-01
      • 2018-03-04
      • 2020-12-20
      • 1970-01-01
      相关资源
      最近更新 更多