我从MySQL数据库中提取一个字符串,其中包含来自朋友的所有ID,格式为:
5 + 6 + 12 + 33 + 1 + 9 +
现在,每当我必须添加一个简单的朋友时,我只需要取出字符串并添加任何ID和#34; +"。我的问题在于将所有ID分开并将其放入数组中。我目前正在使用这种方法
string InputString = "5+6+12+33+1+9+";
string CurrentID = string.Empty;
List<string> AllIDs = new List<string>();
for (int i = 0; i < InputString.Length; i++)
{
if (InputString.Substring(i,1) != "+")
{
CurrentID += InputString.Substring(i, 1);
}
else
{
AllIDs.Add(CurrentID);
CurrentID = string.Empty;
}
}
string[] SeparatedIDs = AllIDs.ToArray();
即使这确实有效,但对于我想要做的事情来说,它似乎过于复杂。 是否有更简单的方法来分割字符串或清洁?
答案 0 :(得分:3)
答案 1 :(得分:0)
string[] IDs = InputString.Split('+');
会使用InputString
字符将+
拆分为字符串数组
答案 2 :(得分:0)
您应该将Split方法与StringSplitOptions.RemoveEmptyEntries一起使用。 RemoveEmptyEntries
可以帮助您避免将空字符串作为最后一个数组元素。
示例:
char[] delimeters = new[] { '+' };
string InputString = "5+6+12+33+1+9+";
string[] SeparatedIDs = InputString.Split(delimeters,
StringSplitOptions.RemoveEmptyEntries);
foreach (string SeparatedID in SeparatedIDs)
Console.WriteLine(SeparatedID);
答案 3 :(得分:0)
var result = InputString.Split('+', StringSplitOptions.RemoveEmptyEntries);
需要额外的选项,因为有一个尾随+