我想在自由标记模板中将长字符串拆分为N个大小的块。
如何使用freemarker乐器完成这项工作?
例:
字符串 - "1234567890"
块大小 - 3
结果 - ["123", "456", "789", "0"]
答案 0 :(得分:2)
可以使用matches
内置的正则表达式来完成(参见https://freemarker.apache.org/docs/ref_builtins_string.html#ref_builtin_matches):
<#list someString?matches('.{1,3}', 's') as chunk>
- ${chunk}
</#list>
我在这里列出了这些块,但当然你也可以<#assign chunks = someString?matches('.{1,3}', 's')>
。
如果您经常需要,请将其放入#function
。
's'
是全点标记(请参阅https://freemarker.apache.org/docs/ref_builtins_string.html#ref_builtin_string_flags)。