For the complete documentation index, see llms.txt. This page is also available as Markdown.

Split strings, replace characters, and combine strings

Mastering string manipulation techniques in Jinja templating is essential for creating dynamic and well-formatted templates. Incorporate these techniques into your Jinja templates to optimize your data processing capabilities and improve their readability. There are three essential string operations:

  1. Splitting strings

  2. Replacing characters

  3. Combining strings

Split strings: Use .split()

The .split() method in Jinja is employed to divide a string into multiple substrings based on a specified character or a set of characters. By providing a delimiter, you can split the string at occurrences of that character.

{%- set mystring = "this_is_a_string" -%}
{{- 
    [
        item for item in mystring.split("_")
    ] 
-}}

In this example, the string "this_is_a_string" is split at each underscore (_), resulting in the output: ["this", "is", "a", "string"].

Replace characters: Use .replace() and | regex_replace()

The .replace() method or the | regex_replace() filter is utilized to replace specific characters in a string with another set of characters.

{%- set mystring = "this_is_a_string" -%}
{{-mystring.replace("_", " ")-}}
{#- another way is like this -#}
{{- mystring | regex_replace("_", " ") -}}

In both cases, the underscore (_) in the string "this_is_a_string" is replaced with a space, resulting in the output: "this is a string".

Combine strings: Use concatenation

Combining strings in Jinja is achieved similarly to Python. Strings can be concatenated using either the ~ or + operators.

In this example, the strings "hello" and "world" are concatenated to form the output: "helloworld".

Note that in Jinja, the ~ operator is the preferred operator for this function.

Last updated

Was this helpful?