Groovy:在字符串内转义大括号

发布于 2024-11-03 04:44:38 字数 476 浏览 4 评论 0原文

我正在用 groovy 编码,并尝试返回一些 javascript。这是我需要返回一个包含大括号的字符串的问题,当然 groovy 会将其读取为错误。这是一个简单的例子:

${ i == 0 ? '{' : '}, {' }  

我想返回:
{ 或
}, {
计划简单。

${ i == 0 ? 'should be left brace' : "should be right brace coma left brace" }

花括号可以转义吗,类似于转义引号?
我已经尝试过:

${ i == 0 ? '\{' : '\}, \{' }    

谢谢

${ i == 0 ? '{{' : '}}, {{' }

I am coding in groovy and am trying to return some javascript. Here is the issue I need to return a string that contains a curly brace and of course groovy reads that as an error. Here is a simple example:

${ i == 0 ? '{' : '}, {' }  

I want to return either:
{
or
}, {
plan and simple.

${ i == 0 ? 'should be left brace' : "should be right brace coma left brace" }

Can curly braces be escaped, similar to escaping quotes?
I have tried:

${ i == 0 ? '\{' : '\}, \{' }    

and

${ i == 0 ? '{{' : '}}, {{' }

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

路还长,别太狂 2024-11-10 04:44:38

我假设问题发生在 GSP 页面中。您可能收到的错误应该与此类似:

expecting ''', found '\n' @ line 57, column 80.
it) { return i == 0 ? '{' : ' })

一种解决方案是对左花括号和右花括号使用 Unicode 表示形式:

${ i == 0 ? "\u007B" : "\u007D,\u007B" }

I assume that problem occurs in a GSP page. The error you probably get should look similar to this one:

expecting ''', found '\n' @ line 57, column 80.
it) { return i == 0 ? '{' : ' })

One solution is to use the Unicode representation for left and right curly braces:

${ i == 0 ? "\u007B" : "\u007D,\u007B" }
他不在意 2024-11-10 04:44:38

这对我有用:

def i = 1
assert "},{" == "${i == 0 ? '{' : '},{'}"

This works for me:

def i = 1
assert "},{" == "${i == 0 ? '{' : '},{'}"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文