str
以下のようなネストされたリストがあります。
[["22","ABC","XYZ"],["555","IJK","PQR"],...]
内部リストの要素をと組み合わせてから、/
それらをと結合して、次の,
ように文字列を形成する必要があります。
22/ABC/XYZ,555/IJK/PQR,...
set_fact
jinja2で試してみましたが、うまくいきませんでした。
- set_fact:
str1: |-
{%- set fs = "" -%}
{%- set im = "" -%}
{%- for i in str -%}
{%- for elem in i -%}
{%- set im = im + "/" + elem -%}
{%- endfor -%}
{%- set fs = fs + "," + im -%}
{%- endfor -%}
{{ fs }}
- debug: var=str1
出力:
TASK [debug var=str1] **********************************
ok: [host1] => {
"str1": ""
期待される出力:
TASK [debug var=str1] **********************************
ok: [host1] => {
"str1": "22/ABC/XYZ,555/IJK/PQR"
ありがとう
最初にフィルターjoin(/)をリストの項目にマップし、次にそれらをjoin(、)します
- set_fact:
str1: "{{ str|map('join', '/')|join(',') }}"
- debug: var=str1
与える
str1: 22/ABC/XYZ,555/IJK/PQR
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加