本文整理自网络,侵删。
感谢各位大师的倾囊相授 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 在xp/2k 下实现 win+ctrl+del 等键的屏蔽的方法
更多相关阅读请进入《Delphi》频道 >>