为什么带有自定义分隔符的 StringTemplates 不起作用?
我正在尝试使用带有自定义分隔符的字符串模板。
此代码片段:
new ST("Hello @what@", '@', '@').add("what", "world").render()
抛出org.stringtemplate.v4.compiler.STException
,所以我显然做错了。
如果我将其更改为 new ST("Hello $what$", '$', '$')
,它就会起作用。为什么@
不起作用?
编辑 - 除了 $
和 @
之外,我尝试了其他字符,到目前为止,除了 $
之外什么都不起作用。这是怎么回事?
I'm trying to use String Template with custom delimiters.
This code snippet:
new ST("Hello @what@", '@', '@').add("what", "world").render()
throws org.stringtemplate.v4.compiler.STException
, so I'm obviously doing it wrong.
If I change it to new ST("Hello $what$", '$', '$')
, it works. Why is @
not working?
Edit - I tried other characters besides $
and @
, and nothing but $
works so far. What's going on?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
'$'、'<' 等字符对于 StringTemplate 来说是特殊的,需要转义。
您可以创建一个转义实用程序,例如:
Characters like '$', '<' are special for StringTemplate and need to be escaped.
You can make a escape util like:
我相信他们一定是不同的角色;开始/停止。
特尔
I believe they have to be different characters; start/stop.
Ter