读书人

怎么在在字符串中插入字符

发布时间: 2012-03-30 17:32:10 作者: rapoo

如何在在字符串中插入字符
如:

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;

读书人网 >.NET

热点推荐