拆除逗号分隔的字符串,同时删除空格和空条目

时间:2013-12-18 15:30:24

标签: c# arrays linq lambda

我想将逗号分隔的字符串转换为字符串数组,并删除空格和空条目。例如,给定输入:

string valueString = "sam, mike,   , ,john  , Tom and jerry  , ";

预期结果将是以下值(当然,修剪):

sam
mike
john
Tom and Jerry

我尝试了以下修改值的代码行,但是无法删除“空”条目:

valueString.Split(',').Select(sValue => sValue.Trim()).ToArray();

最好的方法是修剪输入并清理和清空可能导致过程的条目?

3 个答案:

答案 0 :(得分:42)

将{Trim与StringSplitOptions.RemoveEmptyEntries一起使用不起作用,因为" "不被视为空条目。您需要进行正常拆分,然后修剪每个项目,然后过滤掉空字符串。

valueString.Split(',')
    .Select(x => x.Trim())
    .Where(x => !string.IsNullOrWhiteSpace(x))
    .ToArray();

答案 1 :(得分:0)

根据Anthony的回答,这将把它转换回逗号分隔的字符串:

clock.Counter@5c647e05:clock.Counter@33909752:clock.Counter@55f96302

答案 2 :(得分:0)

尝试一下,它对我有效。...

item.Split({"|"}, StringSplitOptions.RemoveEmptyEntries)