可选语句之间的逗号

问题描述

我正在尝试使用 stringtemplate4 生成代码我有这样一行:

"<if(A)>\"A\":\"<A>\"<endif>,<if(B)>\"B\":\"<B>\"<endif>,<if(C)>\"C\":\"<C>\"<endif>"

所以 A、B 和 C 是可选参数,如果未设置它们,我不希望整个语句出现在输出字符串中。那部分工作正常,但语句后的逗号是我的问题,我不希望逗号也在那里。我可以在字符串中使用逗号(例如“,”,但最后我可能会在结尾处添加一个额外的逗号。我认为一种方法是像列表一样做,但我不知道如何定义。这个不工作:

"<[{<if(A)>\"A\":\"<A>\"<endif>,<if(B)>\"B\":\"<B>\"<endif>}]; separator=\",\">"

有什么想法吗?谢谢。

解决方法

不确定我是否正确理解您的问题,但不能在 if 中移动逗号?

<if(A)>\"A\":\"<A>\",<endif><if(B)>\"B\":\"<B>\",<endif><if(C)>\"C\":\"<C>\"<endif>