Ansibleを使用してデプロイする場合、末尾の-p
サブストリングのストリングを削除する必要がある特定のケースが1つあります。
文字列somemachine-prod-p
は、somemachine-prod
が最後にある場合にのみ-p
になります。
Jinjaで使用できるサブストリング関数は、文字列の先頭ではなく末尾を削除する必要があるため、ニーズを満たしていません。
アイデア?
それを見つけた。
誰かが知りたい場合:
{% if name.endswith('-p') %}
{{ name[:-2] }}
{% else %}
{{ name }}
{% endif %}
より良い「oneliner」があります:{{ name | regex_replace('-p$','') }}
。
単純な部分文字列の場合...
"{{var_name[start:end]}}"
ここで、開始は開始位置(オフセット0)で終了は終了位置(オフセット1)です...と思われます!
この質問のタイトルは、変数から部分文字列を取得したいことを示唆しています。そして、他のほとんどの検索結果は同様のタイトルを持っていますが、その後、パスの分割などの特定の応答を提供します。