拆分LINQ字符串列表

时间:2012-01-26 17:28:47

标签: c# linq linq-to-sql split

我相信这对你来说可能是另一个简单的LINQ主人。

我有一个表格,其中包含由“#”分隔的字符串。在使用LINQ选择字段后,如何将每个字符串拆分为不同的列表? 我的字符串列表如下:

#A#B#C#D#G#F

我使用简单的LINQ查询来访问它:

from x in Special_texts
where x.Name.Equals("ExceptionList")
select x.Content

最后,我的列表应包含:

A
B
C
D
G
F

提前致谢。

2 个答案:

答案 0 :(得分:6)

假设您想要单个列表作为输出:

var list = Special_texts.Where(x=> x.Name.Equals("ExceptionList"))
                        .Select(x=> x.Content)
                        .AsEnumerable()
                        .Select(x=> x.Split(new [] {'#'}, StringSplitOptions.RemoveEmptyEntries))
                        .SelectMany(x=> x)
                        .ToList();

或者,如果您想要一个列表列表(Special_texts中每个项目一个):

var list = Special_texts.Where(x=> x.Name.Equals("ExceptionList"))
                        .Select(x=> x.Content)
                        .AsEnumerable() 
                        .Select(x=> x.Split(new [] {'#'}, StringSplitOptions.RemoveEmptyEntries).ToList())
                        .ToList();

答案 1 :(得分:2)

from x in Special_texts
where x.Name.Equals("ExceptionList")
select x.Content.Split('#').ToList();