2013-12-18 63 views
15

我想將逗號分隔的字符串轉換爲字符串數組,並刪除空格和空條目。例如,給定的輸入:拆除逗號分隔的字符串,同時刪除空格和空條目

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

預期的結果將是以下值(修整,當然):

sam 
mike 
john 
Tom and Jerry 

我曾嘗試下面的代碼線,其修剪的值,但這種無法刪除「空」的條目:

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

什麼會着手修整輸入和清理,並可能導致在此過程中的空項的最佳方式?

+0

你與它有什麼問題?你有錯誤嗎? – MikeSmithDev

回答

32

使用修剪與StringSplitOptions.RemoveEmptyEntries不起作用,因爲" "不被視爲一個空條目。你需要做一個正常的拆分,然後修剪每個項目,然後過濾出空的字符串。

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

'new {','}'這是錯誤的。 – MikeSmithDev

+0

它應該是'new [] {','}' –

0

從安東尼的回答大廈,這將其轉換回一個逗號分隔的字符串,以及:

valueString = string.Join(",", valueString.Split(',') 
    .Select(x => x.Trim()) 
    .Where(x => !string.IsNullOrWhiteSpace(x)) 
    .ToArray()) 
相關問題