所以我有多个字符串数组。在每个数组中我有一个使用'|'的字符串作为分隔符。我需要的是创建一个字符串,其中包含数组的第一个元素,直到'|'。
答案 0 :(得分: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 :(得分: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());
使用null和空值:
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());