【问题标题】:Replace a Substring of a String in Velocity Template Language在 Velocity 模板语言中替换字符串的子字符串
【发布时间】:2011-10-14 04:56:46
【问题描述】:

我想用另一个字符串替换 Velocity 模板语言中字符串的一部分。

例如:

#set($a = "Hello")
#set($b = "+")

我想用 ++ 替换 Hello 中的 ll。输出应该是 He++o

请帮帮我

谢谢 基肖尔

【问题讨论】:

    标签: string replace velocity vtl


    【解决方案1】:

    默认可以使用Java String对象的方法:

    #set( $a = "Hello" )
    #set( $b = $a.replace("l", "+") )
    ${b}
    

    将产生 He++o,您还可以使用速度变量作为方法调用的参数,例如:

    #set( $a = "Hello" )
    #set( $b = "+" )
    #set( $c = $a.replace("l", ${b}) )
    ${c}
    

    【讨论】:

    • 我只是想为未来的访问者添加一点提示:我在我的速度模板中进行了从 ö 到 oe 的非常简单的转换,但它似乎不起作用。无论如何,过了一会儿我意识到输入的字符集是 cp-1252 并且 jvm 正在使用 utf-8 所以模板中的“ü”不是我想要的“ü”..
    • 这里大括号的作用是什么?
    • @anon58192932 花括号用于正式概念。在此特定示例中,它们不是绝对必需的。 $b 是与 ${b} 相同的引用。链接:Apache
    猜你喜欢
    • 2020-11-20
    • 2016-07-23
    • 2012-11-22
    • 2011-11-15
    • 2016-02-04
    • 2012-04-03
    • 2013-07-23
    相关资源
    最近更新 更多