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

InputNotesExample
Input
Text
string
/ Required
Notes
This is the text to manipulate
Example
Hello, world; how are you?

Output Example Payload#

{  "data": "Example"}

Encode Base64#

Convert the input string to base64 encoding | key: encodeBase64

InputNotesExample
Input
Text
string
/ Required
Notes
This is the text to manipulate
Example
Hello, world; how are you?

Output Example Payload#

{  "data": "<example base64 string>"}

Extract Substring#

Extract a substring from a string | key: slice

InputNotesExample
Input
Slice start
string
/ Required
Notes
The index on which to start the slice of the text.
Example
5
Input
Slice stop
string
Notes
The index on which to stop the slice of the text.
Example
7
Input
Text
string
/ Required
Notes
This is the text to manipulate
Example
Hello, world; how are you?

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

InputNotesExample
Input
Substring to find and be replaced
string
/ Required
Notes
This is the substring that is to be replaced.
Example
Hi
Input
The substring to replace instances of 'find' with
string
/ Required
Notes
The substring to replace instances of 'find' with. Can be a string or regular expression.
Example
Hello
Input
Text
string
/ Required
Notes
This is the text to manipulate
Example
Hello, world; how are you?

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"}

HTML Decode#

Decode HTML-encoded input string | key: htmlDecode

InputNotesExample
Input
Text
string
/ Required
Notes
This is the text to manipulate
Example
foo &#xA9; bar &#x2260; baz &#x1D306; qux

Output Example Payload#

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

HTML Encode#

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

InputNotesExample
Input
Text
string
/ Required
Notes
This is the text to manipulate
Example
foo © bar ≠ baz 𝌆 qux

Output Example Payload#

{  "data": "foo &#xA9; bar &#x2260; baz &#x1D306; qux"}

Join#

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

InputNotesExample
Input
Separator
string
Notes
The separator to use to split or concatenate text.
Example
/
Input
Strings
string
Value List
Notes
A set of strings to join together into a single string.
Example
 

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:

Generate Bucket Path for Joins in Prismatic integration designer
Consider expression inputs

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

Output Example Payload#

{  "data": "Example"}

Lower Case#

Convert the input string to lower case | key: lowerCase

InputNotesExample
Input
Text
string
/ Required
Notes
This is the text to manipulate
Example
Hello, world; how are you?

Output Example Payload#

{  "data": "example"}

Match Regex#

Match a string against a regular expression | key: match

InputNotesExample
Input
Regex
string
/ Required
Notes
A regular expression to match against the text that is supplied.
Example
^[A-Z0-9._%+-]{1,64}@(?:[A-Z0-9-]{1,63}\.){1,125}[A-Z]{2,63}$
Input
Text
string
/ Required
Notes
This is the text to manipulate
Example
Hello, world; how are you?

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

InputNotesExample
Input
Text
string
/ Required
Notes
This is the text to manipulate
Example
Hello, world; how are you?

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

InputDefaultNotesExample
Input
Filter Blank Lines
boolean
Default
true
Notes
Filter blank lines (like trailing newlines)
Example
 
Input
Text
string
/ Required
Default
 
Notes
This is the text to manipulate
Example
My first line My second line My third line

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

InputNotesExample
Input
Separator
string
Notes
The separator to use to split or concatenate text.
Example
/
Input
Text
string
/ Required
Notes
This is the text to manipulate
Example
Hello, world; how are you?

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

InputNotesExample
Input
Text
string
/ Required
Notes
This is the text to manipulate
Example
Hello, world; how are you?

Output Example Payload#

{  "data": "EXAMPLE"}