memo1、memo2内逐个比较每行字符串是否相等问题
我有两个memo,memo1有N行数据,形如 1,2,3,4,5,6,7(七个数字一组,每个数字在1-30之间,数字之间用,隔开) ,memo2内有N行形如 12,3,24,5,6,7 (六个数字一组,每个数字在1-30之间,数字之间用,隔开),我想将memo1内所有和memo2内各行六个数字相同的行找出来留在memo1内,其它删除?如何实现?最好给点提示代码?谢谢
[解决办法]
- Delphi(Pascal) code
procedure TForm1.Button1Click(Sender: TObject);var i, j, k, Count: Integer; sl1, sl2 :TStringList;begin sl1 :=TStringList.Create; sl2 :=TStringList.Create; try for i := Memo1.Lines.Count-1 downto 0 do begin sl1.DelimitedText :=Memo1.Lines[i]; for j := 0 to Memo2.Lines.Count - 1 do begin Count :=0; sl2.DelimitedText :=Memo2.Lines[j]; for k := 0 to sl1.Count - 1 do if sl2.IndexOf(sl1[k])>=0 then Count :=Count+1; if Count>=6 then Break; end; if Count<6 then Memo1.Lines.Delete(i); end; finally sl1.Free; sl2.Free; end;end;