字符串是由N个“***|”组成例如:
A:“***|***|***|”
B:“***|ABC|***|”
如何判断字符串A和字符串B除红字以外部分相等?PS:字符串是由N个“***|”组成,ABC(只是例子,不是真的ABC)出现的位置不定string

解决方案 »

  1.   


    请教版主,如何把A字符串对应部分也换成空?因为红色部分的长度也是不定的,所以不太容易Replace。
      

  2.   

    字符串是由N个“***|”组成,ABC(只是例子,不是真的ABC)出现的位置不定 截成数组 对比吧,估计有点慢
      

  3.   

    用字符串的Replace函數,可解決你的問題。
    例:
                string string1, string2, string3, string4;
                string1 = "hello world 123";
                string2 = "hello china 456";
                string3 = "world";
                string4 = "china";
                if (string1.Replace(string3, "") == string2.Replace(string4, "")){
                }
                else{
                }
      

  4.   

    if (a.Where(x => x == '*').Count() == b.Where(x => x == '*').Count())
        ...
      

  5.   


    利用对比的算法,我觉得有点暴力。
    不过说实话,在下没有看透彻楼主的具体情况楼主的具体情况就是类似下图这样,比如红框部分是已处理完的数据,然后对其进行合计操作,这个行转列是动态定义的,可以是N层,合计的项目也可以是动态定义的,可以对任意一层进行合计,图中是一个比较简单的一种情况。整个过程都是对DataTable进行操作,多层行转列的列名暂时用N个“***|”进行保存,例如“仓库1|台式机|数量|”,“仓库1|合计|数量|”,现在稍微明白点了吗?
      

  6.   

                string str1 = "aaa|bbb|ccc|";
                string str2 = "aaa|asd|ccc|";            string[] t1 = str1.Split('|');
                string[] t2 = str2.Split('|');            str1 = str1.Replace(t1[1],"");
                str2 = str2.Replace(t2[1],"");            if (str1 == str2)
                {
                    Console.WriteLine("True");
                }
                else 
                {
                    Console.WriteLine("False");
                }
      

  7.   


    利用对比的算法,我觉得有点暴力。
    不过说实话,在下没有看透彻楼主的具体情况楼主的具体情况就是类似下图这样,比如红框部分是已处理完的数据,然后对其进行合计操作,这个行转列是动态定义的,可以是N层,合计的项目也可以是动态定义的,可以对任意一层进行合计,图中是一个比较简单的一种情况。整个过程都是对DataTable进行操作,多层行转列的列名暂时用N个“***|”进行保存,例如“仓库1|台式机|数量|”,“仓库1|合计|数量|”,现在稍微明白点了吗?明白你的意思了,是不是动态字段?那么你要的做什么效果出来?