Below is my playbook that constructs a string.

```
   - name: Construct command for all paths on a particular IP
     set_fact:
       allcmd: "{{ allcmd | default('') + '\"ls -lrt ' + item.path + ' | tail -57 &&' }}"
     loop: "{{ user1[inventory_hostname] }}"

   - debug:
       msg: "allcmd is:{{ allcmd }}"

```

Output:

```
ok: [10.9.9.11] => (item={u'path': u'/tmp/scripts', u'name': u'SCRIPT'}) => {
    "ansible_facts": {
        "allcmd": "ls -lrt /tmp/scripts | tail -57 &&"
    },
    "ansible_loop_var": "item",
    "changed": false,
    "item": {
        "name": "SCRIPT",
        "path": "/tmp/scripts"
    }
}
ok: [10.9.9.11] => (item={u'path': u'/tmp/MON', u'name': u'MON'}) => {
    "ansible_facts": {
        "allcmd": " ls -lrt /tmp/scripts | tail -57 && ls -lrt /tmp/MON | tail -57 &&"
    },
    "ansible_loop_var": "item",
    "changed": false,
    "item": {
        "name": "MON",
        "path": "/tmp/MON"
    }
}

```

After the loop completes I get the desired string except the fact that I'm left with the trailing `&&` at the end i.e `"allcmd": " ls -lrt /tmp/scripts | tail -57 && ls -lrt /tmp/MON | tail -57 &&"`. 

I wish to remove the last 3 charecters i.e `&&` from allcmd variable. Desired output:

`"allcmd": " ls -lrt /tmp/scripts | tail -57 && ls -lrt /tmp/MON | tail -57"`

Could not find any filters or fuction to remove last n charecters in ansible. 

Can you please suggest ?