说我正在增加像这样的整数
{% capture page %}{{ page | plus: '1' }}{% endcapture %}
我怎么能像这样填充它?
{% capture paddedPage %}{{ page | pad '0', 4 }}{% endcapture %}
其中4是填充位置的数量,' 0'是填充字符串?最终结果如下所示:0001
其中page的值为1.我如何在内联或过滤器中执行此操作?
我想它可能像一样代表像sprintf('%d4',页面)但显然这种语法不适用于liquid / jekyll。
我对jekyll / liquid语法的成长感到非常失望(甚至没有原生模数!)除此之外,我怎样才能填充带有前导字符的字符串?
答案 0 :(得分:12)
答案 1 :(得分:1)
使用Liquid,您可以:
{% assign pad = 4 %}
{% assign padStr = '0' %}
{% assign numbers = "1|12|123|1234" | split: "|" %}
{% for number in numbers %}
{% assign strLength = number | size %}
{% assign padLength = pad | minus: strLength %}
{% if padLength > 0 %}
{% assign padded = number %}
{% for position in (1..padLength) %}
{% assign padded = padded | prepend: padStr %}
{% endfor %}
<p>{{ number}} padded to {{ padded }}</p>
{% else %}
<p>{{ number}} no padding needed</p>
{% endif %}
{% endfor %}
注意:液体模量滤波器为{{ 12 | modulo: 5 }}