我有一个数据库字段,其中包含以下数据:
76,60,12
如果我想删除,例如,60,我该怎么办?
要删除的号码可以是任何地方。如果需要,我还需要删除逗号。
我正在使用.NET 2.0。
答案 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(",")