有A B两个字符串 A是 "1, ,2,3,4,5"  B是" , ,, ,4,5,8,Aaa,测试 ";
将这两个字符串中的空格和非法字符去掉 同时求出一个新字符串C 是A B字符串的交集 如 C=4,5

解决方案 »

  1.   

    去空格用replace()
    求交集用foreach()循环,用contains()判断
      

  2.   


                 string a= "1, ,2,3,4,5";
                 string b=" , ,, ,4,5,8,Aaa,测试 ";             string _a = a.Trim().Replace(" ", "");   //空格和非法字符去掉
                 string _b = b.Trim().Replace(" ", "");             Array arr_a = _a.Split(',');
                 Array arr_b = _b.Split(',');             string new_a = "", new_b = "",new_c = "";
                 for (int i = 0; i < arr_a.Length; i++)
                 {
                     if (arr_a.GetValue(i).ToString() != "")
                     {
                         new_a += arr_a.GetValue(i).ToString() + ",";   //新字符窜A
                         for (int j = 0; j < arr_b.Length; j++)
                         {
                             if (arr_b.GetValue(j).ToString() != "")
                             {                             if (!new_b.Contains(arr_b.GetValue(j).ToString())) new_b += arr_b.GetValue(j).ToString() + ",";   //新字符窜B                             if (arr_a.GetValue(i).ToString() == arr_b.GetValue(j).ToString())   //检测是否有交集
                                 {
                                     new_c += arr_b.GetValue(j).ToString() + ",";    //交集
                                 }
                             }
                         }
                     }
                 }
                 Response.Write("新new_a=" + new_a+"<br>");
                 Response.Write("新new_b=" + new_b + "<br>");
                 Response.Write("交集new_C="+new_c);