ホーム > 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"
}
コメント