微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 String 转换为两个字符并反转两个字符

如何解决将 String 转换为两个字符并反转两个字符

您好,我想将一个简单的字符串拆分为一组两个字符,然后将它们反转。

例如 MyStringToBeReversed 到两个字符,每个字符 My String To Be Reversed 然后将每个拆分的两个字符反转为: 圣:= ts ri := ir 等等...

这是我正在使用的代码,但它只在备注行上显示一个字符

     procedure TForm7.Button1Click(Sender: TObject);
     var
        MyString: string;
        i: integer;
        k: integer;
        j: integer;
     begin
          MyString:= Edit1.Text;

         for i:= 1 to length(MyString) do
         Memo1.Lines.Add(MyString[i]);
     //    Move(Str[1],MyString,Length(Str));

     end;
     end.

解决方法

这应该可以满足您的需求

function ReverseEachTwoChars(AInput : string) : string;
var
  i : integer;
begin
  if(Odd(Length(AInput))) then
  begin
    SetLength(AInput,Length(AInput) + 1);
    AInput[Length(AInput)] := 'A';
  end;

  SetLength(Result,Length(AInput));
  i := 1;
  while(i < Length(Result)) do
  begin
    Result[i] := AInput[i + 1];
    Result[i + 1] := AInput[i];
    Inc(i,2);
  end;
end;

测试:

ShowMessage(ReverseEachTwoChars('010203040506'));

输出:

102030405060

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。