FME Transformers: 2025.2 BETA
FME Transformers: 2025.2 BETA
StringReplacer
Replaces substrings matching text or patterns described by regular expressions.
Typical Uses
-
Editing strings based on text or pattern matching
How does it work?
The StringReplacer receives features with attributes and replaces portions of attribute values (substrings) with new text.
Replacement can be done either by matching a specific string or by using regular expressions to specify string patterns. Matching may be case-sensitive or not.
Multiple replacements can be performed in a single StringReplacer. They are executed sequentially, and so can operate on earlier replacements done in the same transformer.
Matching Text
When Mode is Replace Text, the input string is matched exactly (with the option of case-sensitivity) and replaced.
Input |
Text to Replace |
Replacement Text |
Output |
---|---|---|---|
Bobby |
obb |
ill |
Billy |
Matching Regular Expressions
When Mode is Replace Regular Expression, input strings are evaluated against a regular expression.
Input |
Text to Replace |
Replacement Text |
Output |
---|---|---|---|
Look_cows |
o{2} |
88 |
L88k_cows |
Regular expressions can be created and tested in the Regular Expression Editor, accessible via the Text to Replace context menu.
Special characters and sequences are used, some of which are listed here:
Special Character | Description |
---|---|
| | Separates branches (choices) |
* | Match 0 or more times |
+ | Match 1 or more times |
? | Match 1 or 0 times |
. | Matches any single character |
^ | Matches the start of the value |
$ | Matches the end of the value |
[ ] | Enclose a set of character choices |
( ) | Enclose a "subexpression" |
Advanced Regular Expressions (AREs) are supported. AREs have one or more branches, separated by |, matching any of the branches.
Note For full information on syntax, special characters, and more, see Perldoc - Regular Expressions.
Using Match Groups
Match groups are created when sub-parts exist in the expression, enclosed in parentheses. Each part captures a sub-match from the input text.
These parts can be referred to in the Replacement Text by a backslash followed by the number of the part - \2 refers to the contents matching the second set of parentheses.
In this example, the expression describes a pattern of a word, then a space, then a second word. The words are enclosed in parentheses, and so can be used as a match group.
In the StringReplacer, it could be used like this:
Input |
Text to Replace |
Replacement Text |
Output |
---|---|---|---|
First Second |
(\w+)\s(\w+) |
\2 \1 |
Second First |
Usage Notes
- See the StringSearcher transformer help for additional regular expression examples.
- To search for regular expression matches in a string without doing any replacement, use the StringSearcher transformer.
Configuration
Input Ports

This transformer accepts any feature.
Output Ports

Features with attribute values revised as specified in parameters.
Parameters

Mode |
Select a method of specifying strings to be replaced:
|
Case Sensitive |
Select an option for case-sensitivity when finding strings or patterns:
|

This table specifies the replacements to be done and the order in which to execute them.
Each row defines one string replacement.
Attribute |
Specify the attribute containing the value to be revised. |
Text to Replace |
Specify the string or regular expression to match. |
Replacement Text |
Specify the new string to replace any occurrences of the Text to Replace. |

Set Attribute Value To |
Select a method for handling attribute values that do not contain the Text to Replace:
This parameter setting applies to all rows in the Replace Strings table. |
Editing Transformer Parameters
Transformer parameters can be set by directly entering values, using expressions, or referencing other elements in the workspace such as attribute values or user parameters. Various editors and context menus are available to assist. To see what is available, click beside the applicable parameter.

Defining Values
There are several ways to define a value for use in a Transformer. The simplest is to simply type in a value or string, which can include functions of various types such as attribute references, math and string functions, and workspace parameters.
Using the Text Editor
The Text Editor provides a convenient way to construct text strings (including regular expressions) from various data sources, such as attributes, parameters, and constants, where the result is used directly inside a parameter.
Using the Arithmetic Editor
The Arithmetic Editor provides a convenient way to construct math expressions from various data sources, such as attributes, parameters, and feature functions, where the result is used directly inside a parameter.
Conditional Values
Set values depending on one or more test conditions that either pass or fail.
Parameter Condition Definition Dialog
Content
Expressions and strings can include a number of functions, characters, parameters, and more.
When setting values - whether entered directly in a parameter or constructed using one of the editors - strings and expressions containing String, Math, Date/Time or FME Feature Functions will have those functions evaluated. Therefore, the names of these functions (in the form @<function_name>) should not be used as literal string values.

These functions manipulate and format strings. | |
Special Characters |
A set of control characters is available in the Text Editor. |
Math functions are available in both editors. | |
Date/Time Functions | Date and time functions are available in the Text Editor. |
These operators are available in the Arithmetic Editor. | |
These return primarily feature-specific values. | |
FME and workspace-specific parameters may be used. | |
Creating and Modifying User Parameters | Create your own editable parameters. |

Table Tools
Transformers with table-style parameters have additional tools for populating and manipulating values.
Row Reordering
|
Enabled once you have clicked on a row item. Choices include:
|
Cut, Copy, and Paste
|
Enabled once you have clicked on a row item. Choices include:
Cut, copy, and paste may be used within a transformer, or between transformers. |
Filter
|
Start typing a string, and the matrix will only display rows matching those characters. Searches all columns. This only affects the display of attributes within the transformer - it does not alter which attributes are output. |
Import
|
Import populates the table with a set of new attributes read from a dataset. Specific application varies between transformers. |
Reset/Refresh
|
Generally resets the table to its initial state, and may provide additional options to remove invalid entries. Behavior varies between transformers. |
Note: Not all tools are available in all transformers.
For more information, see Transformer Parameter Menu Options.
Reference
Processing Behavior |
|
Feature Holding |
No |
Dependencies | None |
Aliases | |
History |
FME Online Resources
The FME Community and Support Center Knowledge Base have a wealth of information, including active forums with 35,000+ members and thousands of articles.
Search for all results about the StringReplacer on the FME Community.
Examples may contain information licensed under the Open Government Licence – Vancouver, Open Government Licence - British Columbia, and/or Open Government Licence – Canada.