请问怎样删除相同的字符串?str_1="小明,小红,小丽,小张,小军,小李,小黄"str_2="小李,红红,小张,小明,小钟"
字符串说明:这两个字符串都是动态生成的,中间都有个逗,号分隔我希望:
   通过比较两个字符串,如果在str_1中有哪个名字同时出现在str_2中的,就在str_1中删除相同的,str_2始终不变,只拿来对比用。输出结果:str_1="小红,小丽,小军,小黄"str_2="小李,红红,小张,小明,小钟"我搞来搞去都搞不定,请大家帮忙,谢谢大家

解决方案 »

  1.   

    其实就是用replace
    注意一下逗号
      

  2.   


    string str1 = "....";
    string str2 = "....";
    str1 = "," + str1 + ",";
    string[] strlist = str2.Split(',');
    foreach (string s in strlist)
    {
       str1 = str1.Replace("," + s + ",", "");
    }
    str1.Trim(',');
      

  3.   


    string str_1="小明,小红,小丽,小张,小军,小李,小黄" ;           string str_2 = "小李,红红,小张,小明,小钟";           Response.Write(str_1 + "<br>");
               Response.Write(str_2 + "<br>");
                           foreach (string str in str_2.Split(','))
               {
                   if (Array.IndexOf(str_1.Split(','), str) != -1)
                   {
                       str_1 = str_1.Replace(str + ",", "");
                   }          
               
               }           Response.Write(str_1 + "<br>");
               Response.Write(str_2 + "<br>");
      

  4.   

    string str_1 = "小明,小红,小丽,小张,小军,小李,小黄,小明";//你可以多修改几个 ,验证一下           string str_2 = "小李,红红,小张,小明,小钟";           Response.Write(str_1 + "<br>");
               Response.Write(str_2 + "<br>");
                           foreach (string str in str_2.Split(','))
               {
                   
                    str_1 = str_1.Replace(str + ",", "");//匹配项出现在前和中的情况
                    str_1 = str_1.Replace("," + str, "");//匹配项出现在尾的情况
                    str_1 = str_1.Replace(str, "");//只有匹配项无符号的情况
               }           Response.Write(str_1 + "<br>");
               Response.Write(str_2 + "<br>");