我正在使用Velocity 2.0。我在自定义工具中创建了一个方法,用于查找并返回两个字符串之间的子字符串。此方法有三个参数:初始字符串,开始子序列和结束子序列。我已经证实这适用于单元测试。
我的问题是:在我的力度模板中,如何转义引号以便我可以传入包含双引号的字符串?
我的初始字符串$mystr
是一个json片段,看起来像是:
"receiver":"867-5309",
我正在尝试从字符串中提取867-5309
,这意味着我的开始字符串为"receiver":"
,而我的结束字符串为",
我试过了:
$stringTool.findSubstringBetween($mystr, """receiver"":"", """,")
和
$stringTool.findSubstringBetween($mystr, "\"receiver\":\", "\",")
但这些都不起作用(第一个引起ParseErrorException,第二个在传递给方法的值中产生双反斜杠)。
答案 0 :(得分:2)
您可以尝试设置此
#set ( $d = '"')
然后你可以使用
${d}
代替字符串中的引号。