String Functions
Functions for manipulating and working with text values.
Concatenate
Joins multiple strings together into a single string.
| Property | Value |
|---|---|
| Category | String |
| Min Arguments | 2 |
| Returns | string |
Arguments:
| # | Name | Type | Description |
|---|---|---|---|
| 0 | Base String | string, boolean, datetime, decimal, float, integer, money | The first value to concatenate |
| 1+ | String To Concatenate | string, boolean, datetime, decimal, float, integer, money | Additional values to join |
Description: Joins two or more values together into a single string. Non-string values are automatically converted to their string representation.
Example:
Concatenate("Hello", " ", "World") → "Hello World"
Concatenate("Order #", 12345) → "Order #12345"
Concatenate(FirstName, " ", LastName) → "John Smith"
Format
Replaces index-based placeholders with values.
| Property | Value |
|---|---|
| Category | String |
| Min Arguments | 2 |
| Returns | string |
Arguments:
| # | Name | Type | Description |
|---|---|---|---|
| 0 | String To Format | string | Template string with placeholders (0, 1, etc.) |
| 1+ | Replacement String | string, boolean, datetime, decimal, float, integer, money | Values to substitute for placeholders |
Description: Replaces {0}, {1}, {2}, etc. in the template string with the corresponding argument values.
Example:
Format("Hello, {0}!", "John") → "Hello, John!"
Format("Order {0} total: {1}", "ORD-123", "$500.00") → "Order ORD-123 total: $500.00"
Format("{0} of {1} items completed", 5, 10) → "5 of 10 items completed"
Replace
Replaces occurrences of a substring with another string.
| Property | Value |
|---|---|
| Category | String |
| Min Arguments | 3 |
| Returns | string |
Arguments:
| # | Name | Type | Description |
|---|---|---|---|
| 0 | Base String | string | The original string |
| 1 | Old Substring | string | The substring to find and replace |
| 2 | New Substring | string | The replacement string |
Description: Finds all occurrences of the old substring in the base string and replaces them with the new substring.
Example:
Replace("Hello World", "World", "FlowOn") → "Hello FlowOn"
Replace("2023-01-15", "-", "/") → "2023/01/15"
Replace("Mr. John Smith", "Mr.", "Dr.") → "Dr. John Smith"
Substring
Extracts a portion of a string starting from a specified index.
| Property | Value |
|---|---|
| Category | String |
| Min Arguments | 2 |
| Returns | string |
Arguments:
| # | Name | Type | Description |
|---|---|---|---|
| 0 | Base String | string | The original string |
| 1 | Index Argument | integer | Starting position (0-based) |
Description: Returns the portion of the string from the starting index to the end.
Example:
Substring("Hello World", 6) → "World"
Substring("ORDER-12345", 6) → "12345"
Substring("john.doe@email.com", 9) → "email.com"
To Lower Case
Converts a string to lowercase.
| Property | Value |
|---|---|
| Category | String |
| Min Arguments | 1 |
| Returns | string |
Arguments:
| # | Name | Type | Description |
|---|---|---|---|
| 0 | Base String | string | The string to convert |
Example:
To Lower Case("HELLO WORLD") → "hello world"
To Lower Case("John.DOE@Email.COM") → "john.doe@email.com"
To Upper Case
Converts a string to uppercase.
| Property | Value |
|---|---|
| Category | String |
| Min Arguments | 1 |
| Returns | string |
Arguments:
| # | Name | Type | Description |
|---|---|---|---|
| 0 | Base String | string | The string to convert |
Example:
To Upper Case("hello world") → "HELLO WORLD"
To Upper Case("ProductCode") → "PRODUCTCODE"
Trim
Removes leading and trailing whitespace from a string.
| Property | Value |
|---|---|
| Category | String |
| Min Arguments | 1 |
| Returns | string |
Arguments:
| # | Name | Type | Description |
|---|---|---|---|
| 0 | Base String | string | The string to trim |
Example:
Trim(" Hello World ") → "Hello World"
Trim(" John ") → "John"
Index Of
Returns the position of the first occurrence of a substring.
| Property | Value |
|---|---|
| Category | String |
| Min Arguments | 2 |
| Returns | integer |
Arguments:
| # | Name | Type | Description |
|---|---|---|---|
| 0 | Base String | string | The string to search in |
| 1 | Index Argument | string | The substring to find |
Description: Returns the 0-based index of the first occurrence. Returns -1 if not found.
Example:
Index Of("Hello World", "World") → 6
Index Of("john@email.com", "@") → 4
Index Of("Hello", "xyz") → -1
Last Index Of
Returns the position of the last occurrence of a substring.
| Property | Value |
|---|---|
| Category | String |
| Min Arguments | 2 |
| Returns | integer |
Arguments:
| # | Name | Type | Description |
|---|---|---|---|
| 0 | Base String | string | The string to search in |
| 1 | Last Index Argument | string | The substring to find |
Description: Returns the 0-based index of the last occurrence. Returns -1 if not found.
Example:
Last Index Of("one.two.three", ".") → 7
Last Index Of("folder/subfolder/file.txt", "/") → 16
String Length
Returns the number of characters in a string.
| Property | Value |
|---|---|
| Category | String |
| Min Arguments | 1 |
| Returns | integer |
Arguments:
| # | Name | Type | Description |
|---|---|---|---|
| 0 | Base String | string | The string to measure |
Example:
String Length("Hello") → 5
String Length("Hello World") → 11
String Length("") → 0
Match Pattern
Tests if a string matches a regular expression pattern.
| Property | Value |
|---|---|
| Category | String |
| Min Arguments | 2 |
| Returns | boolean |
Arguments:
| # | Name | Type | Description |
|---|---|---|---|
| 0 | Base String | string | The text to validate |
| 1 | Pattern | string | Regular expression pattern |
Description: Evaluates whether the text matches the specified regex pattern. Returns true if it matches, false otherwise.
Example:
Match Pattern("john@email.com", "^[^@]+@[^@]+\.[^@]+$") → true
Match Pattern("12345", "^\d{5}$") → true
Match Pattern("ABC123", "^[A-Z]+$") → false
To String
Converts a value to its string representation with formatting.
| Property | Value |
|---|---|
| Category | String |
| Min Arguments | 2 |
| Returns | string |
Arguments:
| # | Name | Type | Description |
|---|---|---|---|
| 0 | Base Input | datetime, decimal, entityReference, float, integer, money | Value to convert |
| 1 | Pattern | optionSet | Format pattern |
Format Patterns for Numbers:
| Pattern | Label | Example |
|---|---|---|
P | Percent | 0.15 → "15%" |
E2 | Exponential | 1500 → "1.50E+003" |
C | Currency | 1500 → "$1,500.00" |
F2 | Two Decimals | 3.14159 → "3.14" |
N | Digits | 1500 → "1,500" |
Format Patterns for DateTime:
| Pattern | Label | Example Output |
|---|---|---|
d | Short | "1/15/2026" |
D | Long | "Thursday, January 15, 2026" |
t | Short Time | "2:30 PM" |
T | Long Time | "2:30:00 PM" |
yyyy-MM-dd | ISO Date | "2026-01-15" |
dd/MM/yyyy | European Date | "15/01/2026" |
MM/dd/yyyy hh:mm tt | US DateTime | "01/15/2026 02:30 PM" |
MMM dd, yyyy | Long Format Date | "Jan 15, 2026" |
Configuration Value
Retrieves a cached configuration value.
| Property | Value |
|---|---|
| Category | String |
| Min Arguments | 1 |
| Returns | string |
Arguments:
| # | Name | Type | Description |
|---|---|---|---|
| 0 | Name of Configuration Value | string | The configuration variable name |
Description: Returns the value of a global configuration variable. See the Configuration construct for more details.
Example:
Configuration Value("ApprovalThreshold") → "$10,000"
Configuration Value("DefaultTaxRate") → "0.08"
Localized Resource
Retrieves a localized string value.
| Property | Value |
|---|---|
| Category | String |
| Min Arguments | 1 |
| Returns | string |
Arguments:
| # | Name | Type | Description |
|---|---|---|---|
| 0 | Resource Name | string | The localized resource key |
| 1 | Language | optionSet (optional) | Specific language (default: user's language) |
Description: Returns the localized string for the current user's language. See the Localized Resource construct for more details.
Example:
Localized Resource("RequiredField") → "This field is required" (in user's language)
Localized Resource("WelcomeMessage", "Spanish") → "¡Bienvenido!"