---
title: 'Concatenate a complex string in Ansible'
url: 'https://www.linuxserver.io/blog/2018-07-04-concatenate-a-complex-string-in-ansible'
markdown: 'https://www.linuxserver.io/blog/2018-07-04-concatenate-a-complex-string-in-ansible.md'
date: '2018-07-04'
description: 'Constructing a long, complex string in Ansible can be achieved quite easily utilising Python string subsitution syntax. Suppose you have the following variables: app_protocol: http app_host: 12.34.56.78 app_port: 8080 app_path: api/v2/testing You could construct a string with all the components ite…'
taxonomy:
  tag:
    - ansible
    - devops
---

# Concatenate a complex string in Ansible

Constructing a long, complex string in Ansible can be achieved quite easily utilising Python string subsitution syntax.

Suppose you have the following variables:

```
app_protocol: http
app_host: 12.34.56.78
app_port: 8080
app_path: api/v2/testing
```

You could construct a string with all the components item by item using lots of `"{{}}"` syntax. Or, try this instead:

```
app_string: >-
  {{ "%s://%s:%d/%s"
        app_protocol,
        app_host,
        app_port,
        app_path
    ) }}
```

Note that `%s` is used for string interpolation and `%d`for numeric or decimal values.

I think this is much more readable.

---

## Navigation

- Parent: [Blog](https://www.linuxserver.io/blog.md)
- Previous: [PSA: Deprecation of the linuxserver/gsm-ts3 image](https://www.linuxserver.io/blog/2018-08-15-deprecation-of-linuxserver-gsm-ts3.md)
- Next: [Bootstrapping WiFi for an Arch install with wpa_supplicant](https://www.linuxserver.io/blog/2018-06-29-bootstrapping-wifi-for-an-arch-install-with-wpa_supplicant.md)
