Ansible

從ansible上的字元串中刪除特定字元

  • August 20, 2021

我有以下

- set_fact:
  test_result: " {{ htmlres.content | regex_search('http://website([0-9]+)', '\\1') }}"

使用調試,這將返回以下內容" '[01]'"

只想要數字,我使用該replace()函式進行了一些實驗,並且能夠[ ]通過添加以下內容來去除:

- set_fact:
  test_result: " {{ htmlres.content | regex_search('http://website([0-9]+)', '\\1')
| replace('[','') | replace(']','') }}"

我現在的問題是輸出現在是," '01'我似乎無法刪除'或空格。

由於某種原因添加| trim到末尾不會刪除空格,並且添加regex_search('\'','')似乎也不會逃避角色和工作。

我錯過了什麼嗎?

這是第一次刪除後調試的輸出:

"msg": [
   " '01'",
   ...

謝謝

你想的太難了。regex_search()返回一個數組,並且您想要第一項。

- set_fact:
   test_result: "{{ htmlres.content | regex_search('http://website([0-9]+)', '\\1') | first }}"

開頭的空白是您分配的結果test_result

   test_result: " {{ htmlres.content ...
                 ^-- here

只需將其刪除。

引用自:https://serverfault.com/questions/1075144