Apache Velocity用两个反斜杠替换反斜杠

时间:2014-11-22 15:36:41

标签: phpstorm velocity

我想在PhpStorm的Apache Velocity模板中用两个反斜杠替换单个反斜杠。可悲的是,似乎没有任何效果。以下是我的几次尝试,其中没有一次有效。

${VAR.replace("\\", "\\\\")}
${VAR.replace("\\", "\\\\\\")}
${VAR.replace("\\", "\\\\\\\\")}
${VAR.replace("\\\\", "\\\\\\\\")}

我尝试了各种其他组合,包括由Velocity提供的${esc.b}${esc.backslash}。绝对没有用。

我想将命名空间转换为PHP文件中的带引号的字符串,这就是为什么我需要输出中的两个反斜杠而不是一个。

任何想法?

1 个答案:

答案 0 :(得分:1)

  1. 使用replaceAll作为replace仅适用于单个字符
  2. 使用#set指令
  3. 执行此操作

    示例:

    #set($newVar = $namespace.replaceAll("\\", "\\\\"))
    $newVar
    

    namespace变量的示例输入数据:qwe\asd\asd

    结果:

    qwe\\asd\\asd