Замена подстроки строки на языке шаблонов скорости

Я хочу заменить часть строки в языке шаблонов скорости на другую строку.

Например:

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

Я хочу заменить ll в Hello на ++. На выходе должно быть He ++ o.

Помогите, пожалуйста

Спасибо Кишор


person kishore    schedule 27.07.2011    source источник


Ответы (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}
person Mark McLaren    schedule 15.12.2011
comment
Я просто хочу добавить небольшое примечание для будущих посетителей: у меня было очень простое преобразование в моем шаблоне скорости из ö в oe, но казалось, что это не работает. Во всяком случае, через некоторое время я понял, что набор символов ввода был cp-1252, а jvm работал с utf-8, поэтому ü в шаблоне не было тем ü, которое я искал .. - person Koray Tugay; 14.04.2016
comment
для чего здесь фигурные скобки? - person anon58192932; 15.03.2018
comment
@ anon58192932 Фигурные скобки предназначены для формального обозначения. В этом конкретном примере они не являются абсолютно обязательными. $ b - это ссылка, идентичная ссылке $ {b}. Ссылка: Apache - person Evadman; 19.04.2018