You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ansible的Jinja2模板中为数组元素添加前缀后缀并拼接?

Ansible Jinja2 列表格式化解决方案

要实现给主机名列表统一添加协议前缀和端口后缀,再拼接成指定字符串的需求,你代码里的****位置应该用**map('format', 'https://%s:1234')**,完整代码如下:

{{ ['host1', 'host2', 'host3'] | map('string') | map('format', 'https://%s:1234') | join(',') }}

各部分作用说明:

  • map('string'):确保列表里的每个元素都被转为字符串类型(避免非字符串元素导致格式化失败)
  • map('format', 'https://%s:1234'):对每个元素应用format过滤器,把元素代入%s的位置,生成带前缀和后缀的完整地址
  • join(','):将所有处理后的地址用逗号拼接成一个完整字符串

如果你不想用format,也可以用正则替换的方式实现,代码如下:

{{ ['host1', 'host2', 'host3'] | map('string') | map('regex_replace', '^(.*)$', 'https://\\1:1234') | join(',') }}

不过用format的写法更直观易懂,推荐优先使用。

内容的提问来源于stack exchange,提问作者inspiral

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 00:12:50