我想在Twig中用星号替换部分字符串字符。
例如:
instance_profile = iam.create_instance_profile(
InstanceProfileName='string',
Path='string'
)
我想用星号更改此字符串中第4个后面的每个字母,得到的结果如下:
SomePartlyVisibleStringHere
是否可以不定义新的Twig助手?
答案 0 :(得分:3)
你可以制作一个macro(Twig中的一个函数)并在你想要的时候调用它。
{% macro redact(topSecret) %}
{% set length = topSecret|length - 4 %}
{{ topSecret|slice(0, 3) }}{% for i in 0..length %}*{% endfor %}
{% endmacro %}
{# You have to import from _self if the macro is declared in the same file. #}
{% import _self as sharpie %}
{{ sharpie.redact('Top secret information') }}
{# => Top******************* #}
答案 1 :(得分:1)
这对我有用:
{% set string = 'SomePartlyVisibleStringHere' %}
{% set starCount = string|length - 4 %}
{{ string[:4] }}{% for i in 1..starCount %}*{% endfor %}
如果您不止一次这样做,我会建议making a custom filter,那么您可以这样做:
{% set string = 'SomePartlyVisibleStringHere' %}
{{ string|customFilterName }}