Ansible 字符串分割

Vin*_*ini 3 ansible ansible-template

我在 ansible 中有一个基于分隔符的分割函数。但只想获取第一次出现的分隔符字符串,其余的作为第二个字符串。

string: "hello=abcd=def=asd"
string1= string.split("=")[0]
string2= string.split("=)[1..n] (This is what i missing)
Run Code Online (Sandbox Code Playgroud)

我如何使用 string.split 在 ansible 中实现此目的?

Vla*_*tka 7

问:获取第一次出现的分隔符字符串,其余的作为第二个字符串。

A:再次连接其余的字符串

  arr: "{{ string.split('=') }}"
  string1: "{{ arr[0] }}"
  string2: "{{ arr[1:]|join('=') }}"
Run Code Online (Sandbox Code Playgroud)

(可选)将maxsplit参数设置为 1

  arr: "{{ string.split('=', 1) }}"
  string1: "{{ arr.0 }}"
  string2: "{{ arr.1 }}"
Run Code Online (Sandbox Code Playgroud)

两个选项给出相同的结果

  string1: hello
  string2: abcd=def=asd
Run Code Online (Sandbox Code Playgroud)