delphi delphi 学习大师QQ群讨论的字符串位置替换方法  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi delphi 学习大师QQ群讨论的字符串位置替换方法


感谢各位大师的倾囊相授 QQ群682628230

叫兽叔叔(378464060)  12:14:13

var str,str2,STR3:string;
begin
   str := '12345678';
   str2 := Copy( str,1,Length(str)-2)+'XXXX'  ;
   STR3 :=  Copy( str,Length(str)-2+2,2-1) ;
   str2 :=str2+ STR3 ;
   ShowMessage(str2);
end;

叫兽叔叔(378464060)  12:14:23
2代表位置。

 

 

 

 

叫兽叔叔(378464060)  12:24:11
var str,str2,STR3:string;
i:Integer;
begin
   str := '12345678';
   for i := 1 to Length(str) do
   begin
    if i=Length(str)-2+1 then
    str2 := str2+'xxx'
    else
    str2 := str2+str[i]

   end;
   ShowMessage(str2);
end;

叫兽叔叔(378464060)  12:24:37
方法千万,,总体来说COPY,MOVE 效率会高点。。

 

 

 

叫兽叔叔(378464060)  12:14:27
用COPY

 

 

 

河南-风 delphi学习网(16643506)  12:22:02
var
  Str:string;
  PosX:integer;
  AStr:String;
  ALen:Integer;
begin
   str:='字符串12345678';  //源字符串
   PosX:=Length(str);   //要替换的位置
   AStr:='XYZ' ;          //要替换的字符串
   ALen:= Length(str);
   if PosX<=ALen then
   begin
    Str:=LeftStr(str, ALen-PosX)  +AStr+RightStr(str, PosX-1);//
    Edit1.Text:=str;
   end;
end;

 

 

更高效的:


uses StrUtils ;
procedure TForm1.Button1Click(Sender: TObject);
var
  Str:string;
  PosX:integer;
  AStr:String;
  ALen:Integer;
  I:integer;
  T1,T2:Integer;
begin
   str:='字符串12345678';  //源字符串
   PosX:=3;   //要替换的位置
   AStr:='XYZ' ;          //要替换的字符串
   T1:=GetTickCount;
   for I := 0 to 100000 do
   begin
      ALen:= Length(str);
     if PosX<=ALen then
     begin
      Str:=LeftStr(str, ALen-PosX)  +AStr+RightStr(str, PosX-1);//
      //Edit1.Text:=str;
     end;
   end;
   T2:=GetTickCount;
   Button1.Caption:=IntToStr(T2-T1);

end;


推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.09476900100708 seconds