怎么去掉重复的123和124然后重新得到一个字符串:string b="123,12,124,125,"
帮忙了 用 C#就好。
17 个解决方案
#1
,对了。我知道在VB.net 中有 instr(a,b) 这样可以去重。那么C#中呢。
#2
string.Join(',', a.Split(',').Distinct().ToArray());
#3
以逗号split,然后循环添加到List,天津前判断是否已经存在
#4
string a = "123,123,12,124,125,124,";
string[] result = a.Split(',').Distinct().ToArray();
string b = string.Join(",", result);
//结果b等于:123,12,124,125,
#5
string str="123,123,12,124,125,124,";
Regex reg = new Regex(@"((\d+,).*?)\2");
while (str != (str = reg.Replace(str, "$1"))) ;
Console.WriteLine(str);
#6
哇。大家的方法贼多哦。
VB 的instr 是判断的。也不是去重的,刚才试过了。 - -~!
那 么 VB中的方法是什么呢?
VB 的instr 是判断的。也不是去重的,刚才试过了。 - -~!
那 么 VB中的方法是什么呢?
#7
while (str != (str = reg.Replace(str, "$1"))) ;
这是个什么循环?
#8
相当于
while (true)
{
string temp = str;
str = reg.Replace(str, "$1");
if (temp == str)
{
break;
}
}
#9
顶
#10
牛啊,正则表达式都出来了
#11
string a = "123,123,12,124,125,124,";
string[] str = a.Split(',');
IEnumerable<string> ling = (from b in str select b).Distinct();
StringBuilder strbuil = new StringBuilder(100);
foreach (string s in ling)
{
strbuil.Append(s);
}
string[] str = a.Split(',');
IEnumerable<string> ling = (from b in str select b).Distinct();
StringBuilder strbuil = new StringBuilder(100);
foreach (string s in ling)
{
strbuil.Append(s);
}
#12
8楼的是最有效和最方便的,楼主可以采用
#13
牛!!
#14
string mc = Regex.Replace(str, @"(\d*?,)\1(\d*?,)((\d*?,)(\d*,))\4", "$1$2$3");
#15
string mc = Regex.Replace(str, @"(\d*?,)\1(\d*?,)((\d*?,)(\d*,))\4", "$1$2$3");
//结果:
/*
123,12,124,125,
*/
#16
喜欢二楼的。
#17
再顶!
#1
,对了。我知道在VB.net 中有 instr(a,b) 这样可以去重。那么C#中呢。
#2
string.Join(',', a.Split(',').Distinct().ToArray());
#3
以逗号split,然后循环添加到List,天津前判断是否已经存在
#4
string a = "123,123,12,124,125,124,";
string[] result = a.Split(',').Distinct().ToArray();
string b = string.Join(",", result);
//结果b等于:123,12,124,125,
#5
string str="123,123,12,124,125,124,";
Regex reg = new Regex(@"((\d+,).*?)\2");
while (str != (str = reg.Replace(str, "$1"))) ;
Console.WriteLine(str);
#6
哇。大家的方法贼多哦。
VB 的instr 是判断的。也不是去重的,刚才试过了。 - -~!
那 么 VB中的方法是什么呢?
VB 的instr 是判断的。也不是去重的,刚才试过了。 - -~!
那 么 VB中的方法是什么呢?
#7
while (str != (str = reg.Replace(str, "$1"))) ;
这是个什么循环?
#8
相当于
while (true)
{
string temp = str;
str = reg.Replace(str, "$1");
if (temp == str)
{
break;
}
}
#9
顶
#10
牛啊,正则表达式都出来了
#11
string a = "123,123,12,124,125,124,";
string[] str = a.Split(',');
IEnumerable<string> ling = (from b in str select b).Distinct();
StringBuilder strbuil = new StringBuilder(100);
foreach (string s in ling)
{
strbuil.Append(s);
}
string[] str = a.Split(',');
IEnumerable<string> ling = (from b in str select b).Distinct();
StringBuilder strbuil = new StringBuilder(100);
foreach (string s in ling)
{
strbuil.Append(s);
}
#12
8楼的是最有效和最方便的,楼主可以采用
#13
牛!!
#14
string mc = Regex.Replace(str, @"(\d*?,)\1(\d*?,)((\d*?,)(\d*,))\4", "$1$2$3");
#15
string mc = Regex.Replace(str, @"(\d*?,)\1(\d*?,)((\d*?,)(\d*,))\4", "$1$2$3");
//结果:
/*
123,12,124,125,
*/
#16
喜欢二楼的。
#17
再顶!