我有一个MVC应用程序,我需要将信息存储到数据库中。我得到一个字符串值,例如如
string a = "a,b,c";
然后我通过删除逗号
来拆分字符串string[] b = a.Split(',');
在我保存到数据库之前,我必须重新添加逗号,这就是我被困住的地方。我可以添加逗号,但是我也不想将其添加到字符串的末尾。如果我TrimEnd(',')
它会删除每个逗号。请问有人告诉我哪里出错了。我将逗号添加为:
foreach(var items in b)
{
Console.WriteLine(string.Format("{0},", items));
}
请注意我必须首先拆分逗号,因为在保存到DB之前需要进行一些验证
预期结果应该是例如
A,B,C
而不是我
A,B,C,
更新 - 以下是我在Bruno Garcia回答
之后在我的MVC应用中使用的代码string[] checkBoxValues = Request.Form["location"].Split(',');
foreach(var items in checkBoxValues)
{
if (!items.Contains("false"))
{
UsersDto.Location += string.Join(",", items);
}
}
答案 0 :(得分:4)
尝试:
string.Join(",", b);
这将在数组的每个项目之间添加一个“,”
答案 1 :(得分:1)
您可以使用String.Join
吗?
var result = String.join(",", b); // a,b,c
完整文件:https://msdn.microsoft.com/en-us/library/57a79xd0(v=vs.110).aspx
答案 2 :(得分:1)
它可以做到
string[] checkBoxValues = Request.Form["location"].Split(',');
string s = "";
foreach (var items in checkBoxValues)
{
if (!items.Contains("false"))
{
s = s + string.Format("{0},", items);
}
}
UsersDto.Location = s.TrimEnd(',');
答案 3 :(得分:1)
根据您发布的代码,我认为您需要
UsersDto.Location = string.Join(
",",
Request.Form["location"]
.Split(',')
.Where(item => !item.Contains("false")));
这将在逗号上分割Request.Form["location"]
中的值。然后过滤掉包含“false”作为子字符串的项目,最后用逗号将它们连接在一起。
所以像“abc,def,blahfalseblah,xyz”这样的字符串会变成“abc,def,xyz”。