Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
This page is for anyone writing text strings in expressions, macros or scripts
...
. It also includes information about how to escape special characters.
Using Text Expressions
In PhixFlow, a text expression is made up from a string of characters inside double quotes. Text expressions can also include variable elements so that data from tables or other PhixFlow items can be inserted into the string. The expression must evaluate to a fixed string.
Required output | Example Text Expression | ||
---|---|---|---|
Completed | "Completed" | ||
abc"def | To embed a quote mark:
| ||
The account number ACC46242 failed | Generate a message including the current account number being processed, which is provided by _out.accountNumber:
| ||
This message is finished. |
|
Escaping Special Characters
When writing expressions you may need to enter a character that has special meaning. For example, a string could include a double-quote, but in the expression PhixFlow will read this as the end of the string. To tell PhixFlow to ignore a special character, you can use the backslash character.
You must use a backslash to escape any of the special characters listed in the table below.
Character | Type | Escape string |
---|---|---|
backspace | Represented As | "\b" |
Escaped | "\\\\b" | |
form feed | Represented As | "\f" |
Escaped | "\\\\f" | |
tab | Represented As | "\t" |
Escaped | "\\\\t" | |
carraige return | Represented As | "\r" |
Escaped | "\\\\r" | |
newline | Represented As | "\n" |
Escaped | "\\\\n" | |
backslash | Represented As |
|
Escaped | "\\\\\\\\" | |
double quote | Represented As | '"' |
Escaped | '\\\\"' |
Macro: Escaping Invalid Characters
...
Example
The following macro escapes
...
special characters.
...
By way of understanding: \b is standard notation for the backspace character. However, \ is also a special character in JSON, so we need to escape this with \\\\ to tell it that the \ should not be treated as a special character in this instance.
...
Code Block | ||
---|---|---|
| ||
do(
$value = $args[1],
$value = replaceAll( $value , "\b","\\\\b"),
$value = replaceAll( $value , "\f","\\\\f"),
$value = replaceAll( $value , "\t","\\\\t"),
$value = replaceAll( $value , "\r","\\\\r"),
$value = replaceAll( $value , "\n","\\\\n"),
$value = replaceAll( $value , "\\\\","\\\\\\\\"),
$value = replaceAll( $value , '"','\\\\"')
)
|
Validating Data Imported Into PhixFlow
JSON data (like any imported data format) can include characters that cannot be written to a database that is using the UTF-8 character set. For example, 4-bit Emojis are not supported by UTF-8.
The following regular expression lists the characters expected in a JSON file and removes invalid characters from it.
Code Block |
---|
replaceAll(JSON Code,"[^\\p{Space}0-9A-Za-z!:\\\"%&\\[*()\\],-/_\\\\{}\\.]","") |
The backslash character escapes special characters such as [] , .
and \
Tip |
---|
Check which database PhixFlow is running on to see how it handles 4-bit characters. An oracle database with the recommended configuration can store the full range of Uni-code characters whilst MySQL/MariaDB UFT-8mb3 databases cannot and invalid characters will need to be removed before writing to the database; see Database for recommended database configurations. |
...