2017-03-06 335 views
-4

所以我有多個字符串數組。在每個數組中,我有一個使用'|'的字符串作爲分隔符。我需要的是用數組的第一個元素創建一個字符串,直到'|'。拆分字符串數組c#

所以在這個例子中我需要6485,6486,6487,6509,6510,6511,6533,6534,6535,| enter image description here

+3

那麼你嘗試了什麼? – BugFinder

+0

有趣的問題。祝你好運! – InBetween

+4

我投票結束這個問題作爲題外話,因爲這不是寫我的代碼服務。 – InBetween

回答

1

使用String.Split()分裂原始字符串,然後存儲在第一批在一個單獨的數組,然後使用String.Join()將它們串聯

string[] tempStrings = new string[stringArray.Length]; 
for(int i = 0; i < stringArray.Length; i++) 
{ 
    tempStrings[i] = stringArray[i].Split(@"|")[0]; 
} 

string result = String.Join(",", tempStrings); 
1

使用System.Linq的:

string[] temp = new string[] { "1,2,3|4,5,6|7,8,9", "10,11,12|13,14,15", "16,17,18"}; 
var result = String.Join(",", temp.Select(x => x.Split('|').FirstOrDefault()) 
            .ToList()); 

隨着空值和空值:

string[] temp = new string[] { "1,2,3|4,5,6|7,8,9", "10,11,12|13,14,15", "16,17,18", "", null }; 
var result = String.Join(",", temp.Select(x => x?.Split('|').FirstOrDefault()) 
            .Where(x => !string.IsNullOrWhiteSpace(x)) 
            .ToList());