从数组中过滤字符串

本文关键字:字符串 过滤 数组 | 更新日期: 2023-09-27 18:16:25

我试图设计一个检查传入字符串的数组,如果传入字符串有一个特定的起始字符,它被跳过

例如:

;item1
item2
item3
;item4

应该以

的形式放入数组中
item2
item3

我想我会尝试使用foreach方法跳过以标识符开始的行,然后在else中附加不匹配的行回字符串数组,但似乎我无法做到这一点。

帮助!

    void Whitelist()
    {
        if (logging == 1)
        {
            FIO._Log("Performing WhiteList func", writer);
        }
        try
        {
            string[] lines = File.ReadAllLines("Whitelist.ini");
            string[] lines2;
            foreach (string line in lines)
            {
                if (line.StartsWith(";"))
                {
                    continue;
                }
                else
                {
                    // lines2.append(line) ??
                }
            }
            structs.CustomWhiteList = lines2;
        }
        catch (Exception e)
        {
            MessageBox.Show("Error reading whitelist file." + Environment.NewLine + e.Message);
            FIO._Log("Failed to read whitelist file", writer);
        }
    }

从数组中过滤字符串

您可以读入这些行,过滤掉以分号开头的行,然后将结果数组直接设置为CustomWhiteList

尝试以下代码:

var lines = File.ReadAllLines("Whitelist.ini");
structs.CustomWhiteList = lines.Where(x => !x.StartsWith(";")).ToArray();

这使用LINQ,所以你必须添加using System.Linq到你的类,如果它还没有。