代码之家  ›  专栏  ›  技术社区  ›  Thorin Oakenshield

如何使用LINQ从C中列表中的所有字符串中删除子字符串

  •  2
  • Thorin Oakenshield  · 技术社区  · 14 年前

    我有一个字符串列表,比如

    "00000101000000110110000010010011",
    "11110001000000001000000010010011",
    

    所以得到的列表如下

    "0101000000110110000010010011",
    "0001000000001000000010010011",
    

    使用LINQ有什么方法可以做到这一点吗?

    2 回复  |  直到 14 年前
        1
  •  8
  •   Quartermeister    14 年前
    strings = strings.Select(s => s.Substring(4)).ToList();
    

    strings = strings.Where(s => s.Length >= 4).Select(s => s.Substring(4)).ToList();
    

    删除太短的字符串。

        2
  •  1
  •   Julien Roncaglia    14 年前

    仅限linq:

    l.Select(s => new string(s.Skip(4).ToArray())).ToList();
    

    或者使用子串

    l.Select(s => s.Substring(4)).ToList();
    

    但有Quartermeister指出的限制(字符串太小的情况除外)