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;

相关阅读 >>

Delphi开发获取文件md5值

Delphi��image存入读取mysql数据库

Delphi webbrowser1去边框

Delphi xe5在zip文件中添加某个txt文件并写入文字

Delphi 进制转换之10进制与34进制互转

Delphi 删除整个目录

Delphi sql 语句(常见) 新建,删除,修改表结构

Delphi 判断两个时间差是否在一个指定范围内

Delphi实现类似android锁屏的密码锁控件

Delphi 2009 之 tstringbuilder 类[5]: chars[] 属性与 copyto 方法

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...