You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Delphi 12的新多行字符串中嵌入变量?

Delphi 12多行字符串实现变量替换的方法

Delphi 12引入的三重单引号(''')多行字符串本身不支持像JavaScript模板字符串那样直接嵌入变量,不过可以通过以下几种方式实现类似的变量替换效果:

1. 字符串拼接法

这是最直接的方式,通过+运算符将变量与多行字符串片段拼接:

var
  myName: string;
  myString: string;
begin
  myName := 'Martin';
  myString := ''''Hi ' + myName + ','#13#10 +
              'Say hello to 
multi-line
strings!''';
end;

三重引号内可以直接保留换行格式,只需要将变量插入到对应的位置即可。

2. Format函数格式化

使用Format函数配合占位符(%s对应字符串变量),更接近模板的写法:

var
  myName: string;
  myString: string;
begin
  myName := 'Martin';
  myString := Format('''Hi %s,
Say hello to 
multi-line
strings!''', [myName]);
end;

这种方式适合变量较多的场景,占位符会被数组中对应的变量值替换。

3. TStringBuilder构建(高效场景)

如果需要处理大量变量或较长的字符串,使用TStringBuilder会更高效:

var
  myName: string;
  sb: TStringBuilder;
  myString: string;
begin
  myName := 'Martin';
  sb := TStringBuilder.Create;
  try
    sb.Append('Hi ').Append(myName).Append(',')
      .AppendLine
      .AppendLine('Say hello to ')
      .AppendLine('multi-line')
      .Append('strings!');
    // 将构建好的内容包裹进三重引号
    myString := '''' + sb.ToString + '''';
  finally
    sb.Free;
  end;
end;

内容的提问来源于stack exchange,提问作者Martin Kakhuis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 19:22:40