Filters

Regex

Search strings with regular expressions

- name: Set fact
  set_fact:
    numberofcdpneighbors: "{{ showcdp.stdout_lines[0] | regex_search('Total.*') | regex_search('[0-9]{1,4}')}}"

Text Manipulation

Escaping special character in search string

- name: Set Change OK Flag
    set_fact:
      changeok: "<div data-gb-custom-block data-tag="if" data-0='username ' data-1='username ' data-2='username ' data-3='+nxosaccounts[0].name+' data-4=' ' data-5=' ' data-6=') and localaccounts | regex_search(' data-7='0' data-8='0' data-9='0' data-10='0' data-11='0' data-12='0' data-13='0' data-14='0' data-15='0' data-16='0' data-17='0' data-18='0' data-19='0' data-20='0' data-21='0' data-22='0' data-23='0' data-24='0' data-25='0' data-26='0' data-27='0'>true<div data-gb-custom-block data-tag="else"></div>false</div>"

Replacing text

  • {{ ansible_date_time.date | replace('-','')}}

Change Variable types

  • variable | type

Split and Trim text

  • split string: (freespace.stdout[0] | split(' '))[3] | trim('(')

  • split list: "{{ stackmembers.split(',') | length }}"

  • ./output/{{hostvars.localhost.startdate}}/{{hostvars.localhost.starttime}}/{{inventory_hostname}}-{{cmd | split | join}}

Date and Time

Reference

  • https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_filters.html

Last updated