A reference guide to text functions in Layer formulas: CONCAT, TRIM, UPPER, LEFT, SUBSTITUTE, and more with AEC examples.

Mike Lee
Thursday, May 7, 2026
Layer formula fields include text functions for working with strings. These are useful for combining fields into a single label, formatting reference codes, extracting substrings, and cleaning imported data.
Function reference
Function | Description |
|---|---|
| Joins two or more strings into one |
| Converts a string to all uppercase |
| Converts a string to all lowercase |
| Removes leading and trailing whitespace |
| Returns the first |
| Returns the last |
| Returns |
| Returns the number of characters in a string |
| Returns the zero-based position of |
| Replaces every occurrence of |
| Returns TRUE when the string matches the regular expression |
| Returns the first substring matching the regular expression, or an empty string |
| Replaces matches of the regular expression with the replacement string |
| Repeats a string the given number of times |
| URI-encodes a string for use in a URL |
| Joins an array of strings into one string, separated by the delimiter |
Common patterns
Combine first and last name
Element label from a number and a name
Uppercase reference code for display
Extract a category prefix from an asset tag
Asset tags often encode a category in the first three characters. LEFT returns that prefix.
Strip leading and trailing whitespace from imported text
Replace a placeholder in a text field
Combine a number with a unit label
Numbers passed to CONCATENATE are converted to strings automatically.
Check whether a string contains a substring
SEARCH returns -1 when no match is found. Compare against 0 with GTE to convert that into a boolean.
For case-insensitive matching, normalise the searched string with LOWER first.
Extract the numeric portion of a string
Use REGEXEXTRACT with a digit pattern.
Build a URL-safe link
Use ENCODEURICOMPONENT when concatenating user-entered text into a URL.
Things to know
CONCAT does not exist. The function is named CONCATENATE. Layer formula v2 also has no & infix operator for concatenation.
Indices are zero-based. MID("Layer", 1, 3) returns "aye". SEARCH("hello world", "world") returns 6. The first character of any string is at position 0.
SEARCH is case-sensitive. SEARCH({Notes}, "revit") will not match Revit. Wrap the searched text in LOWER to make the search case-insensitive.
There is no LEN, FIND, REPLACE, or generic TEXT function. Use LENGTH, SEARCH, SUBSTITUTE, and DATETOSTRING for date formatting.
Concatenating a possibly empty field. CONCATENATE accepts an empty string as a valid value, so a separator placed between two fields will still appear when one side is empty. To suppress the separator, branch on the empty case with IF.

