【Ansible Tower/AWX】文字列の先頭(末尾)から指定文字数分の文字列を取得(削除)する方法


この記事はプロモーションを含みます。

Ansible

ホーム > Ansible Tower・AWX リファレンス

jinja2のフィルタを使用して、文字列の先頭または末尾から、指定文字数分の文字列を取得する方法について解説します。ExcelでのLEFT関数、RIGHT関数のようなイメージです。
また、先頭・末尾から指定文字数分の文字列を削除する方法もご紹介します。

先頭から○文字分を取得

文字列の先頭から指定した文字数分の文字列を取得します。
ExcelでのLEFT関数のようなイメージになります。

例として、先頭から7文字分を取得してみたいと思います。

プレイブック
- hosts: all
  gather_facts: False
  tasks:

  - name: "先頭から[7]文字分を取得"
    vars:
      - str: SYUTAKUAPL01
    debug:
      msg: "{{ str[:7] }}"

実行結果を見ると、元の文字列「SYUTAKUAPL01」の先頭から7文字分の「SYUTAKU」が取得されていることが分かります。

実行結果
PLAY [all] *********************************************************************

TASK [先頭から[7]文字分を取得] ***********************************************************
ok: [SYUTAKUAPL01] => {
    "msg": "SYUTAKU"
}

末尾から○文字分を取得

文字列の末尾から指定した文字数分の文字列を取得します。
ExcelでのRIGHT関数のようなイメージになります。

例として、末尾から5文字分を取得してみたいと思います。

プレイブック
- hosts: all
  gather_facts: False
  tasks:

  - name: "末尾から[5]文字分を取得"
    vars:
      - str: SYUTAKUAPL01
    debug:
      msg: "{{ str[-5:] }}"

実行結果を見ると、元の文字列「SYUTAKUAPL01」の末尾から5文字分の「APL01」が取得されていることが分かります。

実行結果
PLAY [all] *********************************************************************

TASK [末尾から[5]文字分を取得] ***********************************************************
ok: [SYUTAKUAPL01] => {
    "msg": "APL01"
}

先頭から○文字分を削除

文字列の先頭から指定した文字数分の文字列を削除します。

例として、先頭から7文字分を削除してみたいと思います。

プレイブック
- hosts: all
  gather_facts: False
  tasks:

  - name: "先頭から[7]文字分を削除"
    vars:
      - str: SYUTAKUAPL01
    debug:
      msg: "{{ str[7:] }}"

実行結果を見ると、元の文字列「SYUTAKUAPL01」の先頭から7文字分が削除された残りの「APL01」が取得されていることが分かります。

実行結果
PLAY [all] *********************************************************************

TASK [先頭から[7]文字分を削除] ***********************************************************
ok: [SYUTAKUAPL01] => {
    "msg": "APL01"
}

末尾から○文字分を削除

文字列の末尾から指定した文字数分の文字列を削除します。

例として、末尾から5文字分を削除してみたいと思います。

プレイブック
- hosts: all
  gather_facts: False
  tasks:

  - name: "末尾から[5]文字分を削除"
    vars:
      - str: SYUTAKUAPL01
    debug:
      msg: "{{ str[:-5] }}"

実行結果を見ると、元の文字列「SYUTAKUAPL01」の先頭から5文字分が削除された残りの「SYUTAKU」が取得されていることが分かります。

実行結果
PLAY [all] *********************************************************************

TASK [末尾から[5]文字分を削除] ***********************************************************
ok: [SYUTAKUAPL01] => {
    "msg": "SYUTAKU"
}

コメント

タイトルとURLをコピーしました