Delphi - 使用一个参数格式化多个%s字符串

时间:2018-04-20 20:39:56

标签: delphi

当我尝试使用如下代码行格式化'%s%s'之类的字符串时:

format('%s%s', [x]);

我得到一个例外,因为如果不使用具有相同数量参数的数组,则不能有多个'%s',例如:

format('%s%s', [x,x]);

但是,我不知道有多少'%s'我将需要格式化,因此我不知道该阵列需要多长时间。我也只想将'%s'分配给只有1个值。

有没有办法可以使用多个'%s'并将它们全部分配到同一个索引?

2 个答案:

答案 0 :(得分:6)

documentation中所述,您可以使用索引说明符通过基于零的索引来标识参数。索引说明符在%之后立即写入,后跟:

你的例子是:

Format('%0:s%0:s', [x])

答案 1 :(得分:-2)

MyStr := StringReplace('%s%s', '%s', x, [rfreplaceALL]);