web-dev-qa-db-ja.com

文字列の一部をベロシティで出力

ワッフルしたり、ちょっとした冗談を言ったりした場合はお詫びしますが、速度とこれらのフォーラムは初めてです!

文字列の内容で特定の文字を確認し、テキストの2番目の部分が表示された場合は出力する必要があります。例えば:

set ($string = "This is a long string *** but I only want to output this on my email").

3つのアスタリスクの後にすべてのテキストを出力したいと思います。私はフォーラムを精査しましたが、私を完全に助けるものを見つけることができません。

11
user1680260

Velocityは、実際のJavaオブジェクトのファサードであるため、 String および indexOf を含むすべての substringクラスのパブリックメソッド にアクセスできます。したがって、次のようなものを試してください。

#set ($string = "This is a long string *** but I only want to output this on my email")
#set ($index = $string.indexOf('***'))
#set ($index = $index + 3)
#set ($end = $string.substring($index))

コンテキストに配置するオブジェクトをより細かく制御できる場合は、 StringUtils のインスタンスをヘルパーツールとして追加してから、 substringAfter を直接使用できます。

25
Sergiu Dumitriu