字符串按指定分隔符切割成数组

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