频道分类

delphi 批量给每个字符加括号

作者:admin 来源: 日期:2020/5/28 8:29:05 人气: 标签:

 


方法1
procedure TForm1.Button1Click(Sender: TObject);
const
  iStep = 2;
var
  Idx: integer;
begin
  for Idx :=0 to Length(Memo1.Lines.Text)div iStep do
    Memo2.Lines.Add('【'+Memo1.Lines.Text.Substring(Idx*iStep, iStep)+'】');
end;

方法2


procedure TForm1.btn1Click(Sender: TObject);
var
  vStr:string;
  i,iLen:integer;
  iStep:Integer;
  tempStr:String;
  Remainder :Integer;
begin
   Memo1.Lines.Clear;
   vStr := Edit1.Text;
   iLen := Length(vStr);
   iStep := 3;
   Remainder := iLen mod iStep;
   for i := 0 to (iLen div iStep)-1 do
   begin
     tempStr :='【' + MidStr(vStr, i*iStep +1, iStep)+'】';
     memo1.Lines.Add(tempStr) ;
   end;
   if Remainder<>0 then
   begin
     tempStr :='【' + MidStr(vStr, i*iStep +1, remainder)+'】';
     memo1.Lines.Add(tempStr) ;
   end;
end;



方法3

var
  lStr:string;
  i,iLen:integer;
  iStep:Integer;
  tempStr:String;
begin
   Memo2.Lines.Clear;
   lStr := Edit1.Text;
   iLen := Length(lStr);
   iStep := 2;
   for i := 1 to iLen do
   begin
     //代表开始
     if (i mod 2)=1 then
     begin
       tempStr := '【'+lStr[i];
       if i=iLen then //代表最后一个只有开始没有结束
       begin
         tempStr := tempStr+'】';
         Memo2.Lines.Add(tempStr);
       end;
     end;
     //代表结束
     if (i mod 2)=0 then
     begin
        tempStr :=tempStr+lStr[i]+ '】';
        Memo2.Lines.Add(tempStr);
     end;
   end;
end;