我有一个像
这样的字符串列表"00000101000000110110000010010011",
"11110001000000001000000010010011",
我需要从每个字符串中删除前4个字符
所以结果列表就像
"0101000000110110000010010011",
"0001000000001000000010010011",
有没有办法用LINQ做到这一点?
答案 0 :(得分:8)
strings = strings.Select(s => s.Substring(4)).ToList();
如果字符串长度不是至少四个字符,那么会抛出ArgumentOutOfRange异常,因此您可能想要执行类似
的操作strings = strings.Where(s => s.Length >= 4).Select(s => s.Substring(4)).ToList();
删除太短的字符串。
答案 1 :(得分:1)
仅限linq:
l.Select(s => new string(s.Skip(4).ToArray())).ToList();
或使用Substring
l.Select(s => s.Substring(4)).ToList();
但是由于Quartermeister注意到的限制(如果字符串太小则异常)