freemarker 模板:将大字符串拆分为 n 大小的块
freemarker templates: split large string in n-size chunks
我想在 freemarker 模板中将一个长字符串拆分为 N 大小的块。
如何使用 freemarker 工具做到这一点?
示例:
字符串 - "1234567890"
块大小 - 3
结果 - ["123", "456", "789", "0"]
这可以通过正则表达式来完成,使用 matches
built-in(参见 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'
是 dot-all 标志(参见 https://freemarker.apache.org/docs/ref_builtins_string.html#ref_builtin_string_flags)。
我想在 freemarker 模板中将一个长字符串拆分为 N 大小的块。
如何使用 freemarker 工具做到这一点?
示例:
字符串 - "1234567890"
块大小 - 3
结果 - ["123", "456", "789", "0"]
这可以通过正则表达式来完成,使用 matches
built-in(参见 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'
是 dot-all 标志(参见 https://freemarker.apache.org/docs/ref_builtins_string.html#ref_builtin_string_flags)。