如何在在字符串中插入字符
如:
str:='这1是2一3个4字56符7串';
再在想插入一个字符 %
希望结果会是:str:='%这%1%是%2%一%3%个%4%字%5%6%符%7%串%';
[解决办法]
procedure TForm1.Button1Click(Sender: TObject);
var
str,tmp: string;
i:integer;
begin
str:='这1是2一3个4字56符7串';
tmp:='';
i:=1;
while i<= Length(str) do
begin
if (Ord(str[i])>127) and (i<Length(str)) then
begin
tmp:=tmp+'%'+str[i]+str[i+1];
Inc(i);
end
else
tmp:=tmp+'%'+str[i];
inc(i);
end;
tmp:=tmp+'%'
//tmp='%这%1%是%2%一%3%个%4%字%5%6%符%7%串%';
end;
[解决办法]
- Delphi(Pascal) code
procedure (var s:string; c:char);var i:integer;begin i := 1; while i<=Length(s)+1 do begin Insert('%',s,i); if ByteType(s,i+1)=mbLeadByte then i:=i+3 else i:=i+2; end;end;//endstr:= '这1是2一3个4字56符7串 ';procedure(str,'%');
[解决办法]
上面句“Insert('%',s,i);”改成“Insert(c,s,i);”
[解决办法]
使用WideString;
var
str, s: WideString;
i: Integer;
begin
str:= '这1是2一3个4字56符7串';
s := '%';
for i := 1 to Length(str) do
s := s + str[i] + '%';
ShowMessage(s);
end;