小弟初学C#,如果问的问题过于弱智还望各位达人不要见笑.
是这样的,目前我有一个字符串:
string str = "1,1,2,8,2,3,4,8,4,7,6,5,9,"
里面存了很多以豆号隔开的数据.但是这些数据某些是有重复的.
我想要一个方法,把这个字符串传进去,返回一个处理过的字符串(没有重复的).
比如把上面的那个str传进去,我希望返回的字符串如下:
string str1 = "1,2,3,4,5,6,7,8,9,"
当然了,顺序倒不重要.也可以是这样的:
string str1 = "1,2,8,3,4,7,6,5,9,"反正意思就是说把str传进去以后,返回一个数据没有重复的str1,但是str中原来的数据全都要保存完好,只是减去重复的部份.我试过用string [] t = str1.Split(',')把它切成字符串数组,然后再定义一个字符串数组,然后把t中的值循环后一个一个加进去,我觉得我思路好像没问题吧,可是我怎么写怎么错,郁闷了~   -_-!
小弟初学,还望各位大佬们多多指教.

解决方案 »

  1.   

    split保存到一个数组里面,然后再把数据扫描一遍,重复的删除
      

  2.   

    string str = "1,1,2,8,2,3,4,8,4,7,6,5,9,";
    string[] ss=str.Split(',');
    string ls="";
    for(int i=0;i<ss.Length;i++)
    {
    if(ls.IndexOf(ss[i])==-1)
    ls+=ss[i]+",";
    }
    Response.Write(ls.Substring(0,ls.Length-1));
    已测试通过!
      

  3.   

    string [] t = str1.Split(',')传入的字符串
    string [] t1 = str.Split(',')已存在的字符串
    for(int i=0;i<t1.lenght;i++)
    {
       for(int j=0;j<t.lenght;j++)
           {
               if(t[j]==t1[i])
                  {
                      t1.remove(t1[i]);
                  }
           }
    }
      

  4.   

    都已经说过了,用Split进行分割到一个string数组里。然后滤掉重复的就OK了
      

  5.   

    private string A()
    {
    string s="1,2,3,2";
    string [] tt = s.Split(',');
    ArrayList al=new ArrayList();
    for(int i=0;i<tt.Length;i++)
    {
    if(!al.Contains(tt[i]))
    {
    al.Add(tt[i]);
    }
    }
    string result="";
    for(int j=0;j<al.Count;j++)
    {
    result+=al[j].ToString();
    }
    return result; }
      

  6.   

    用Index未必可以,因为某些字符串会是另一个字符串的一部分,例如1和11其实是两个不同的字符串,但是“11,”.IndexOf(“1”) != -1,造成误判
      

  7.   

    static void Main(string[] args)
            {
                string str = "1,1,2,8,2,3,4,8,4,7,6,5,9,";
                string[] s=str.Split(',');
                string output = "";
                for (int i = 0; i < s.Length; i++) 
                {
                    if (output.IndexOf(s[i]) == -1) 
                    {
                        output += s[i] + ",";
                    }
                }
                Console.WriteLine(output);
                Console.ReadLine();
            }
      

  8.   

    用IndexOf未必可以,因为某些字符串会是另一个字符串的一部分,例如1和11其实是两个不同的字符串,但是“11,”.IndexOf(“1”) != -1,造成误判