有一个使用逗号串隔开的字符串,如何去掉重复的值?

jhxiaoma 2004-09-09 01:40:43
例:
a,b,c,a,b,d,e
我想要的结果是
a,b,c,d,e
...全文
645 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
PPLUNCLE 2004-09-09
  • 打赏
  • 举报
回复
上面代码测试通过的
PPLUNCLE 2004-09-09
  • 打赏
  • 举报
回复
//-----------------------过滤重复值
string T_Str="a,b,d,d,e,a,f,b,d,g,h";
string R_Str="";
string[] OID_Arr=T_Str.Split(',');
for(int i=0;i<OID_Arr.Length;i++)
{
for(int j=i+1;j<OID_Arr.Length;j++)
{
if(OID_Arr[i]==OID_Arr[j])
{
OID_Arr[j]="";
}
}
}
for(int m=0;m<OID_Arr.Length;m++)
{
if(OID_Arr[m]!="")
{
R_Str=R_Str==""?OID_Arr[m]:R_Str+","+OID_Arr[m];
}
}
PPLUNCLE 2004-09-09
  • 打赏
  • 举报
回复
//-----------------------过滤重复值
string T_Str="a,b,d,d,e,a,f,b,d,g,h";
string R_Str="";
string[] OID_Arr=T_Str.Split(',');
for(int i=0;i<OID_Arr.Length;i++)
{
for(int j=i+1;j<OID_Arr.Length;j++)
{
if(OID_Arr[i]==OID_Arr[j])
{
OID_Arr[j]="";
}
}
}
for(int m=0;m<OID_Arr.Length;m++)
{
if(OID_Arr[m]!="")
{
R_Str=R_Str==""?OID_Arr[m]:R_Str+"*"+OID_Arr[m];
}
}
jhxiaoma 2004-09-09
  • 打赏
  • 举报
回复
确实是,值就变了。
jiezhi 2004-09-09
  • 打赏
  • 举报
回复
我的方法对于string s1 = "a,b,c,a,b,d,ed,ed,ff,dfe,ed";这样的字符串,就得不到正确结果了。
jiezhi 2004-09-09
  • 打赏
  • 举报
回复
string s1 = "a,b,c,a,b,d,e";
string s2 = "";
string s3 = "";
while ( s1.IndexOf(",")>0)
{
s3 = s1.Substring(0,s1.IndexOf(",")+1);
s1 = s1.Replace(s3,"");
s2 += s3;
}
s2 = s2.Substring(0,s2.Length-1);
jhxiaoma 2004-09-09
  • 打赏
  • 举报
回复
ark_matrix(matrix)的方法过于复杂
jhxiaoma 2004-09-09
  • 打赏
  • 举报
回复
想到一个原理。
先将s1 存到数组s2[]中。
然后循环s1.Replace(s2[],'')
这样s1的值就是正确的了。
不过有最后一步,需要s1.Replace(',,',',')

我先试试。
ark_matrix 2004-09-09
  • 打赏
  • 举报
回复
把字符或字符窜排序,把相等的去掉,左右两个比较大小就可以了!!!
jiezhi 2004-09-09
  • 打赏
  • 举报
回复
三个变量:
s1:原来的字符串
s2:要得到的字符串
s3:临时变量

1。使用instr在s1中对逗号定位,取得字符串,放在s3(包含逗号)中,同时,加在s2的末尾。
2。使用replace,将s1中包含的s3替换为''。
3。在从1开始,重复。

最终,s2就是你想要的。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧