兩個字符串相比較﹐怎樣獲得其中不相同的部分字符串
如﹕'43353030373333303030344231' 與'43353030373333303030354141'
要怎樣分得到'44231'和'54141'﹐以便后續進行大小的比較請大家指點﹐急﹐在線等﹗謝謝
如﹕'43353030373333303030344231' 與'43353030373333303030354141'
要怎樣分得到'44231'和'54141'﹐以便后續進行大小的比較請大家指點﹐急﹐在線等﹗謝謝
i,j,th1,th2: Integer;
tr1,tr2 :string;
newstr :string;
begin
th1:=Length('43353030373333303030344231');
th2:=Length('43353030373333303030354141');
for i :=1 to th1 do
begin
tr1:=copy('43353030373333303030344231',i,1);
tr2:=copy('43353030373333303030354141',i,1);
if tr1=tr2 then
newstr:=newstr+'A'//相同的用A表示
else
newstr:=newstr+ tr1;//把不同的直接
end;end;
结果 :newstr=AAAAAAA........AA4A23A
function pad_space(src:string;len:integer):string;
var
i,j:integer;
begin
i:=len-length(src);
for j:=1 to i do
src:= src+' ';
if i<0 then result:=copy(src,1,len)
else result:=src;
end;
var
str1,str2 : string;
str1h,str1t : string;
str2h,str2t : string;
th1,th2 : integer;
th,th1t,th2t : integer;
begin
str1 := '53354030373333303030344231';
str2 := '43353030373333303030354141';
memo1.Lines.Add('str1: '+str1);
memo1.Lines.Add('str2: '+str2);
th1 := length(str1);
th2 := length(str2);
if (th1>th2) then str2 := pad_space(str2,th1)
else str1 := pad_space(str1,th2); th := th1 div 2;
while (th>0) do
begin
str1h := copy(str1,1,th);
str2h := copy(str2,1,th);
if (str1h = str2h) then
begin
th1t := length(str1);
th2t := length(str2);
str1 := copy(str1,th+1,th1t-th);
str2 := copy(str2,th+1,th1t-th);
th1 := length(str1);
end else
begin
th1 := length(str1h);
end; th := th1 div 2;
end;
memo1.Lines.Add('str1_==: '+str1);
memo1.Lines.Add('str2_==: '+str2);
我需要的是去掉兩個字符串的相同部分﹐得到不同部分來比較大小