# Text and Strings

The easiest way to test your Jinja2 expressions is by using a[ Jinja2 evaluator](https://www.google.com/search?q=jinja2+live+parser) with mock data (Don't include any sensitive data in those). Note, only standard Jinja2 expressions will work here, like if, elif, upper, etc.

#### Making strings UPPER case

```python
{% set my_text = 'This will be upper case!' %}
{{ my_text | upper }}
```

Returns: THIS WILL BE UPPER CASE!

#### Making strings lower case

```python
{% set my_text = 'This will be upper case!' %}
{{ my_text | lower }}
```

Returns: this will be lower case!

#### Concatenating Strings

```python
{{ '+49', '292828834'   |   join(' ')   }} 

--> Returns a space: +49 292828834

If you just want a joint without a string, you can just write:
{{ '+49', '292828834'   |   join   }} 

--> Returns a space: +49292828834
```

Another common use-case is comma-separated concatenation:

```python
{{  'BMW', 'Mercedes', 'Audi'   |   join(', ')   }} 

--> Returns: BMW, Mercedes, Audi
```

Limiting or shortening strings to a certain number of characters:

```python
my_string = "Hello my nam is Max"

my_string[:5]
 --> Returns: Hello

my_string[:7]
 --> Returns: Hello m

FYI: my_string[:7] yields the same result as my_string[0:7]
```

To read up on string manipulation in all detail, check out: [realpython.com - String manipulation.](https://realpython.com/python-strings/)
