字符串是由N个“***|”组成例如:
A:“***|***|***|”
B:“***|ABC|***|”
如何判断字符串A和字符串B除红字以外部分相等?PS:字符串是由N个“***|”组成,ABC(只是例子,不是真的ABC)出现的位置不定string
A:“***|***|***|”
B:“***|ABC|***|”
如何判断字符串A和字符串B除红字以外部分相等?PS:字符串是由N个“***|”组成,ABC(只是例子,不是真的ABC)出现的位置不定string
请教版主,如何把A字符串对应部分也换成空?因为红色部分的长度也是不定的,所以不太容易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{
}
...
利用对比的算法,我觉得有点暴力。
不过说实话,在下没有看透彻楼主的具体情况楼主的具体情况就是类似下图这样,比如红框部分是已处理完的数据,然后对其进行合计操作,这个行转列是动态定义的,可以是N层,合计的项目也可以是动态定义的,可以对任意一层进行合计,图中是一个比较简单的一种情况。整个过程都是对DataTable进行操作,多层行转列的列名暂时用N个“***|”进行保存,例如“仓库1|台式机|数量|”,“仓库1|合计|数量|”,现在稍微明白点了吗?
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");
}
利用对比的算法,我觉得有点暴力。
不过说实话,在下没有看透彻楼主的具体情况楼主的具体情况就是类似下图这样,比如红框部分是已处理完的数据,然后对其进行合计操作,这个行转列是动态定义的,可以是N层,合计的项目也可以是动态定义的,可以对任意一层进行合计,图中是一个比较简单的一种情况。整个过程都是对DataTable进行操作,多层行转列的列名暂时用N个“***|”进行保存,例如“仓库1|台式机|数量|”,“仓库1|合计|数量|”,现在稍微明白点了吗?明白你的意思了,是不是动态字段?那么你要的做什么效果出来?