delphiz中如何替换制定位置的字符串?有什么函数?
比如:
    我要将字符串s:=‘abYYYdef’的字符串,从第三位起的三位换成‘000’,即替换后s成为‘ab000def’,请问有什么函数能实现吗?

解决方案 »

  1.   

    Delphi中StringReplace函数的使用2006-10-28 21:56function StringReplace(const S, OldPattern, NewPattern: string;
      Flags: TReplaceFlags): string;const S:原来的字符串OldPattern:需要被替换的部分NewPattern:替换后的部分Flags:替换标识,定义如下:type
      TReplaceFlags = set of (rfReplaceAll, rfIgnoreCase); 具体用法如下:StringReplace(原来的字符串,需要被替换的部分,替换后的部分,[rfReplaceAll])
      

  2.   

    SHOWMESSAGE(StringReplace('abYYYdef','YYY','000',[rfReplaceAll]));
      

  3.   

    var 
      ss:string;
    ss:=stringreplace('abYYYdef','YYY','000',rfReplaceAll);
      

  4.   

    楼主要的是替换指定位置指定长度的代码, 可以写这样一个函数来实现:
    function ReplaceStrPos(S, R: String;  P: Integer): String;
    begin
      if (P < Length(S)) and (P + Length(R) < Length(S)) then Move(R[1], S[3], Length(R));
      Result := S;
    end;
    调用的例子:var
      s : String;
    begin
      s := 'abYYYdef';
      ShowMessage (ReplaceStrPos(S, '000', 3));  ShowMessage (ReplaceStrPos('abYYYdefgh', '111', 3));
    end;