Jinja2 用 '.' 替换字符串细木工

Jinja2 replace string with '.' joiner

我搜索了用Jinja2替换IP末尾数字的最佳方法。

我需要替换 IP 的最后一个八位字节:

{% set ip = "192.168.1.1" %}
{% set points == ip.split('.') %}
{{ points | last | replace (points | last , "0") }}

结果:0
期望的结果:192.168.1.0

您可以使用Python's slicing来获取除最后一个具有负索引的列表元素之外的所有列表元素,然后

  1. 连接包含您的新元素的列表,最后加入
    {{ ("192.168.1.1".split(".")[:-1] + ["0"]) | join(".") }}
    
  2. 或加入,然后将字符串与您的新元素连接起来
    {{ "192.168.1.1".split(".")[:-1] | join(".") + ".0" }}