在 Velocity 模板语言中替换字符串的子字符串
Posted
技术标签:
【中文标题】在 Velocity 模板语言中替换字符串的子字符串【英文标题】:Replace a Substring of a String in Velocity Template Language 【发布时间】:2011-10-14 04:56:46 【问题描述】:我想用另一个字符串替换 Velocity 模板语言中字符串的一部分。
例如:
#set($a = "Hello")
#set($b = "+")
我想用 ++ 替换 Hello 中的 ll。输出应该是 He++o
请帮帮我
谢谢 基肖尔
【问题讨论】:
【参考方案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以上是关于在 Velocity 模板语言中替换字符串的子字符串的主要内容,如果未能解决你的问题,请参考以下文章
如何在 AWS appSync 的 Apache Velocity 请求映射模板中操作字符串和数组