如何转义 Velocity 2.0 中的双引号?

How do I Escape a Double Quote in Velocity 2.0?

我正在使用 Velocity 2.0。我在自定义工具中创建了一个方法,用于查找和 returns 两个字符串之间的子字符串。此方法采用三个参数:初始字符串、开始子序列和结束子序列。我已经验证这适用于单元测试。

我的问题是:如何在我的 velocity 模板中转义引号,以便我可以传入包含双引号的字符串?

我的初始字符串 $mystr 是一个 json 片段,看起来像:

"receiver":"867-5309",

我正在尝试从字符串中提取 867-5309,这意味着我的开始字符串是 "receiver":",结束字符串是 ",

我试过:

$stringTool.findSubstringBetween($mystr, """receiver"":"", """,")

$stringTool.findSubstringBetween($mystr, "\"receiver\":\", "\",")

但这些都不起作用(第一个导致 ParseErrorException,第二个在传递给方法的值中产生双反斜杠)。

你可以尝试设置这个

#set ( $d = '"')

那你就可以使用

${d} 

代替字符串中的引号。