Jinja模板字典/列表过滤器“contains”或“like” - Saltstack

问题描述:

我想过滤包含或以'foo_'开头并忽略列表中的其他值的值。Jinja模板字典/列表过滤器“contains”或“like” - Saltstack

值(不能修改):

TEST: 
- foo_a 
- foo_b 
- bar_a 
- bar_b 
- test_c 

模板:

{% for value in grains['TEST'] %} 
- do something with value that contains "foo_" 
{% endfor %} 

我该怎么办呢?

我试着用:

{% for value in grains['TEST']|map(^foo_) %} 
- do something with value that contains "foo_" 
{% endfor %} 

=>没有成功

+0

'{%for grain in'['TEST'] if value.startswith('foo_')%} - do something {%endfor%}' –

假设每个值是一个字符串(这似乎是这种情况),你应该能够使用标准startswith方法字符串,如{% if value.startswith('foo_') %}