安企CMS模板中如何将特定格式的字符串按指定分隔符切割成数组?

split 过滤器可以将特定格式的字符串按指定分隔符切割成数组。如果分隔符不存在于字符串中,则会返回长度为1的数组,数组的值为字符串本身。如果分隔符为空,则会按每个utf8字符来拆分成数组。

也可以使用 make_list 来讲字符串快速切割成数组。make_list 会将每一个字符拆分成数组一个值,一个字母是一个,一个汉字也是一个。

使用方法

split 过滤器的使用方法:

{{ obj|split:"拼接符" }}

make_list 过滤器的使用方法:

{{ obj|make_list }}

比如需要将 splits, the, string, 安企CMS, 切割成数组,则可以这么写:

{{ "splits, the, string, 安企CMS"|split:", "|stringformat:"%#v" }}
# 显示结果
[]string{"splits", "the", "string", "安企CMS"}

split过滤器同样支持在赋值标签(set)中使用,将判断结果存储到一个变量中,如:

{% set values = "splits, the, string, 安企CMS"|split:", " %}
{% for item in values %}
<span>{{item}}/</span>
{% endfor %}
# 显示结果
splits/ the/ string/ 安企CMS/

示例演示

split 过滤器

{{ "splits, the, string, 安企CMS"|split:", " }}
{{values|stringformat:"%#v"}}
# 显示结果
[]string{"splits", "the", "string", "安企CMS"}
{{ "Hello, 99, 3.140000, good"|split:", "|join:", " }}
# 显示结果
Hello, 99, 3.140000, good

make_list 过滤器

{{ "john doe"|make_list|join:", " }}
{% for char in "john doe"|make_list %}{{ char }}{% endfor %}
# 显示结果
j, o, h, n,  , d, o, e
john doe