string str1="1,2,3,4,";
string str3="1,2,";
如何相减得到3,4,

解决方案 »

  1.   

                string str1 = "1,2,3,4,";
                string str3 = "1,2,";            string newStr=str1.Replace(str3,"");
      

  2.   


    string str1 = "1,2,3,4,";
            string str2 = "1,2,";
            string str3= str1.Replace(str2,"");
      

  3.   

    方法有很多,1.可以用替换字符串的方式,如:str1.replace(str3,"")
    2.可以转换成数组后,用linq的Except
    等等。就看楼主愿不愿意动脑了。
      

  4.   


    string str1="1,2,3,4,";
    string str3="1,3,";
    如何相减得到2,4,这种情况有么?
      

  5.   

    relpace方法不行的 str1="1,2,3,4,1,2" 就会有问题了
    还是自己写个方法 字符串相减的情况多了
    每个项目应该逻辑都不一样 安装这个项目的逻辑编写方法
      

  6.   

    string str1 = "12,11,2,3,4,";
    string str2 = "1,2,";
    用replace就得到12,13,4,你的业务不应该是这样吧,那replace就不行了
      

  7.   

    string str1 = "12,11,2,3,4,";
    string str2 = "1,2,";string[] arr=str2.split(',');
    for(int i=0;1!=arr.length;++i)
    {
     str1.replace(arr[i].Tostring(),"");
    }
    str1.replace(",,","");
      

  8.   

    str1.replace(arr[i].Tostring()+",","");
      

  9.   

    LZ这个“相减”很简单的啊
    将短的那个字符串分离成
    1 2
    这个LZ会吧然后再将长的分离出来做
    用Replace();就OK拉
      

  10.   


    // .NET 3.5+
    static void Main(string[] args)
    {
        try
        {
            string s1 = "1,2,3,4,5,6,7,8,9,10";
            string s2 = "2,4,6,8,10";        string[] a1 = s1.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            string[] a2 = s2.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);        var a3 = a1.Except(a2);
            string s3 = String.Join<string>(",", a3);        Console.WriteLine(s3);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex);
        }
        Console.ReadKey();
    }