繁体   English   中英

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

[英]How to remove substring from all strings in a list in C# using LINQ

我有一个字符串列表

"00000101000000110110000010010011",
"11110001000000001000000010010011",

我需要从每个字符串中删除前4个字符

所以结果列表就像

"0101000000110110000010010011",
"0001000000001000000010010011",

有没有办法用LINQ做到这一点?

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

如果字符串不是至少四个字符长,那将抛出ArgumentOutOfRange异常,所以你可能想要做类似的事情

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

删除太短的字符串。

仅限linq:

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

或使用Substring

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

但是由于Quartermeister注意到的限制(如果字符串太小则异常)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM