Subst$
Result = Subst$ ( Format , ReplaceString [ , ReplaceString ... ] )
Result = Subst ( Format , ReplaceString [ , ReplaceString ... ] )
Result = Subst$ ( Format , ReplaceArray )
Result = Subst ( Format , ReplaceArray )
在格式化中用第一个、第二个、以及接下来的
ReplaceString 参数依次替换'&1'、'&2'等等子串,
并返回替换结果。
如果
Format 为空,返回空字符串。
对于C语言程序员,该函数不像简单的sprintf函数。
自从 3.20
从Gambas 3.20起,替换字符串可以指定为单个字符串数组。
示例
Print Subst("Gambas is a cool &1", "BASIC")
在连结那些需要翻译的字符串时,该函数很有用。
不要使用
&
操作,因为在不同语言中连结的次序可能需要改变。
例如:
Print Subst(("Today, we are &1 &2"), Format(Now, "mmm"), Format(Now, "d"))
将会这样翻译成法语
Print Subst(("Aujourd'hui, nous sommes le &2 &1"), Format(Now, "mmm"), Format(Now, "d"))
在Gambas3中,如果想替代的参数的索引大于等于10,
必须用
{
和
}
将参数索引括起来。
例如:
DIM aArg AS String[]
PRINT Subst("The 9th argument is &9 and the 10th is &{10}",
aArg[1], aArg[2], aArg[3], aArg[4], aArg[5], aArg[6], aArg[7], aArg[8], aArg[9], aArg[10])
该语法不被Gambas2支持,会发生错误。例如,对于'
&10
'替代模板,将不能区分“替代第10个参数”和“替代第1个参数并添加一个0”。
参见