如何将字符串元素数组连接成一个字符串

Hwa*_*wau 6 arrays delphi string string-concatenation delphi-2007

如何将字符串数组转换为字符串(使用分隔符char)?我的意思是,是否有一些系统功能我可以使用而不是编写自己的功能?

Ari*_*rie 9

如果您使用的是较新版本的 Delphi,则可以使用TStringHelper.Join,请参阅:http ://docwiki.embarcadero.com/Libraries/Sydney/en/System.SysUtils.TStringHelper.Join

Writeln(String.Join(',', ['String1', 'String2', 'String3']));
Run Code Online (Sandbox Code Playgroud)

输出将是:String1,String2,String3


Jen*_*olt 7

由于您使用的是 Delphi 2007,因此您必须自己动手:

function StrArrayJoin(const StringArray : array of string; const Separator : string) : string;
var
  i : Integer;
begin
  Result := '';
  for i := low(StringArray) to high(StringArray) do
    Result := Result + StringArray[i] + Separator;

  Delete(Result, Length(Result), 1);
end;
Run Code Online (Sandbox Code Playgroud)

只需遍历数组并将其与您的分隔符连接起来。

还有一个小测试示例:

procedure TForm1.FormCreate(Sender: TObject);
begin
  Caption :=StrArrayJoin(['This', 'is', 'a', 'test'], ' ');
end;
Run Code Online (Sandbox Code Playgroud)

  • 速度不理想 (2认同)