从字符串数组中删除项目

时间:2010-07-29 12:15:21

标签: .net arrays list

我有一个数据库字段,其中包含以下数据:

76,60,12

如果我想删除,例如,60,我该怎么办?

要删除的号码可以是任何地方。如果需要,我还需要删除逗号。

我正在使用.NET 2.0。

4 个答案:

答案 0 :(得分:8)

我会在逗号上拆分字符串,删除元素然后再次加入字符串。希望这一切都适用于.NET 2.0:

string s = "76,60,12";
List<string> numbers = new List<string>(s.Split(','));
numbers.Remove("60");
s = string.Join(",", numbers.ToArray());

答案 1 :(得分:0)

如果您使用的是Visual Studio 2008或2010,则可以使用LINQ Bridge将LINQ to Objects功能添加到.NET 2.0并执行以下操作:

string csv = String.Join(",",
    "76,60,12".Split(',').Where(s => s != "60").ToArray());

答案 2 :(得分:-1)

使用正则表达式并使逗号(甚至前导空格)可选。你的正则表达式字符串就像“[,]?[\ s]?” +“60”(替换为您想要的地方)

作为一个例子,它看起来像这样(我只是输入它,不确定它是否编译,但应该显示逻辑)

dbFieldValue = Regex.Replace(dbFieldValue, @"(?(^)\b60\b[,\s]*|[,\s]*\b60\b)", "");

---编辑---- 上面的正则表达式被编辑,所以它现在指定边界,并且如果文本显示为第一个元素也可以。

答案 3 :(得分:-1)

正则表达式给了我并且想要在两边添加“,”并替换“,60”。 最有可能比其他版本更快,并假设没有空格

Dim values = "76,60,12"
Dim valueToReplace = "60"
values = ("," & values & ",").Replace("," & valueToReplace & ",", ",").Trim(",")