安企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