Skip to main content

Text Manipulation Component

Perform common operations on strings and arrays of strings

Component key: text-manipulation

Description

The text manipulation component allows you to perform common operations on some text. For example, you can join two or more text strings together with the join action, find text with the match action, replace strings with other strings within a piece of text with the replace function, and more.

Actions

Decode Base64

Convert the input string from base64 encoding | key: decodeBase64

Output Example Payload

{
"data": "Example"
}

Encode Base64

Convert the input string or file to base64 encoding | key: encodeBase64

Output Example Payload

{
"data": "SGVsbG8sIFByaXNtYXRpYyE="
}

Extract Substring

Extract a substring from a string | key: slice

This action uses the JavaScript slice method to extract substrings from a string.

Output Example Payload

{
"data": "Example"
}

Find & Replace

Find and replace all instances of one substring with another | key: replace

This action uses the JavaScript replace method and a regex global flag to replace all instances of find with replace. Find can be a regular expression or a string.

Output Example Payload

{
"data": "Example"
}

Find & Replace Multiple Substrings

Find and replace all instances of multiple substrings with another | key: replaceMultipleSubstring

Output Example Payload

{
"data": "Example"
}

HTML Decode

Decode HTML-encoded input string | key: htmlDecode

Output Example Payload

{
"data": "foo © bar ≠ baz 𝌆 qux"
}

HTML Encode

Convert input string to HTML-encoded equivalent | key: htmlEncode

Output Example Payload

{
"data": "foo © bar ≠ baz 𝌆 qux"
}

Join

Join strings together using an optional separator to form a single string. | key: join

This action is helpful when you want to generate messages, file paths, etc., based off of results from several steps.

As an example, suppose you would like to generate a file path of the form:

${bucketName}://${customerName}/items/${itemNumber}.txt

Where bucketName and customerName are config variables, and itemNumber is an output from a previous step. You can reference the config variables, and step output, and place string literals (://, etc) between them:

Consider expression inputs

String concatenation can be done from within an input using template inputs

Output Example Payload

{
"data": "Example"
}

Join Lines

Join strings together with a newline character | key: joinLines

The Join Lines action is used to join strings together with one or multiple newline characters. This action is particularly useful when you need to combine multiple lines of text into a single text block with line breaks.

As an example, suppose you're building an integration workflow for a data export task. You have a list of data records, and you want to format these records into a CSV (Comma-Separated Values) string for easy export. Each data record is represented as a string, and you need to concatenate them with commas as column separators and newline characters as row separators.

["John,Doe,30","Alice,Smith,25","Bob,Johnson,35"]

Now, you want to create a CSV string from these data records. You use the "Join Lines" action as follows:

Use the Strings input to add the lines. Example: John,Doe,30. Use the Newline type input to set the type of newline to use, LF for Unix systems or CRLF for Windows systems. Use the Number of newlines to add the number of newlines between each line of strings.

Example output using 1 newline:

John,Doe,30\ Alice,Smith,25\ Bob,Johnson,35

Output Example Payload

{
"data": "Line1\nLine2"
}

Lower Case

Convert the input string to lower case | key: lowerCase

Output Example Payload

{
"data": "example"
}

Match Regex

Match a string against a regular expression | key: match

This action applies the Javascript match method to the text you input with a regex global flag.

For example, if you enter The quick brown fox jumps over the lazy dog. It barked. as your text input, and [A-Z] as your regular expression, this action will return the list ["T","I"].

Output Example Payload

{
"data": [
"Example Match 1",
"Example Match 2"
]
}

Remove Whitespace

Remove leading and trailing whitespace from a string | key: trim

This action will remove leading and trailing whitespace, converting something like " This is a test! " to "This is a test!".

Output Example Payload

{
"data": "Example"
}

Split Lines

Split a block of text on newline characters (\n) | key: splitLines

Output Example Payload

{
"data": [
"My first line",
"My second line",
"My third line"
]
}

Split String

Split a string into a list of strings on a separator character | key: split

This action is useful to split a string into a list of strings. For example, given a string /usr/local/lib/python3 and separator /, this action produces ["usr","local","lib","python3"].

Output Example Payload

{
"data": [
"Example Part 1",
"Example Part 2"
]
}

Upper Case

Convert the input string to UPPER CASE | key: upperCase

Output Example Payload

{
"data": "EXAMPLE"
}