我的程序中用到字符串的动态替换,示例如下:....
num:='123M456N789'
for k:=1 to 100000 do
  begin
    aaa:=num;
    aaa:=StringReplace(aaa,'M',thdataM[k],[rfReplaceAll,rfIgnoreCase]);
    aaa:=StringReplace(aaa,'N',thdataN[k],[rfReplaceAll,rfIgnoreCase]);
    writeln(f1,aaa);
  end;
.....上面用到的thdataM、thdataN数组是程序运算得到的,且不定长。执行上面语句,效率很低,求高手指点,以何方式才能有效提高速度,不胜感谢。我的一个思路不知是否可行?将 aaa 用数组处理
aaa[0]:=123;aaa[1]='';aaa[2]:=456;aaa[3]='';aaa[4]='789';
这样,通过分别赋值到数组序号 1 3 ,来实现替换。
问题是,这样做可能速度会加快,但数据如何合并成一个字符串?vb中可以通过join(aaa,"")来实现,但delphi中好象没有这个函数。