String 什么';这种类型的字符串结构叫什么?foo(“xxx%1 xxx%2”,arg1,arg2)

String 什么';这种类型的字符串结构叫什么?foo(“xxx%1 xxx%2”,arg1,arg2),string,function,vba,sequence,String,Function,Vba,Sequence,我对此一无所知。在一个字符串中包含一系列转义单元,然后在字符串后面加上处理时被替换到字符串中的参数时,称为什么类型的字符串操作 我想是这样的: foo("xxx %1 yyy %2 zzz %3",arg1,arg2,arg3) 最终成为 foo("xxx arg1 yyy arg2 zzz arg3") 其中arg1、arg2和arg3的值已插入字符串中的这些位置 不管它是什么,我都在试图找出如何在VBA中实现它 编辑:它似乎被称为“字符串格式”或“复合格式”。无论如何,据我所知,VBA没

我对此一无所知。在一个字符串中包含一系列转义单元,然后在字符串后面加上处理时被替换到字符串中的参数时,称为什么类型的字符串操作

我想是这样的:

foo("xxx %1 yyy %2 zzz %3",arg1,arg2,arg3)
最终成为

foo("xxx arg1 yyy arg2 zzz arg3")
其中arg1、arg2和arg3的值已插入字符串中的这些位置

不管它是什么,我都在试图找出如何在VBA中实现它


编辑:它似乎被称为“字符串格式”或“复合格式”。无论如何,据我所知,VBA没有这个功能。

通常它是一个
Format()
方法,它接受格式字符串和参数集合

在C#中,它是一种静态方法,可以作为

String.Format()

通常是一个
Format()
方法-它接受格式字符串和参数集合

在C#中,它是一种静态方法,可以作为

String.Format()

它接近于Perl中所谓的插值,但可能并不完全相同

这有用吗


同意这不仅仅是格式化

它与Perl中所谓的插值非常接近,但可能并不完全相同

这有用吗

同意这不仅仅是格式化

它被称为“复合格式化”,不,VBA确实不支持它。您可以同样轻松地使用串联:

foo = "I went to " & placename & "and bought a " & itemname & "."
我确信有更有效的方法来实现它。

它被称为“复合格式化”,不,VBA确实不支持它。您可以同样轻松地使用串联:

foo = "I went to " & placename & "and bought a " & itemname & "."

不过,我相信还有更有效的方法。

我可能会称之为“printf-like”。

我可能会称之为“printf-like”。

我想到了“格式字符串”这个名字;因环境而异。实际上,foo是一个替换占位符的函数,因此对于编辑过的部分,它最终会变成“xxx arg1 yyy zzz arg3”:它不是VBA的固有特性,但如果需要,您可以轻松地模拟它;因环境而异。事实上,foo是替换占位符的函数,因此对于编辑的部分,它最终成为“xxx arg1 yyy zzz arg3”:它不是VBA固有的,但如果您愿意,您可以轻松地模拟它。在我添加关于VBA的部分之前,这让我找到了原始问题的答案,所以我接受它。在我添加关于VBA的部分之前,这让我得到了最初问题的答案,所以我接受它。