Simple String Replace (legacy)
Still the same find=>replace node, just under a new key
- text
- ignored_lines
Another one of those "(legacy)" labels that's more confusing than it deserves to be. If your workflow references SimpleStringReplace, it's the same node as today's MoonPack_SimpleStringReplace - MoonPack v0.2 renamed all its registry keys to a MoonPack_ prefix, and the old key is kept as an alias so saved workflows keep loading. The full writeup is on the MoonPack_SimpleStringReplace page.
Recap of what it does: take text, apply find => replace pairs from a multiline box one line at a time, in order. Empty replacement deletes, # lines are comments, and anything malformed comes back on a second output called ignored_lines instead of being dropped silently. A whole_word_match toggle switches to regex word-boundary matching. Outputs are text and ignored_lines. It's the no-regex, plain-string sibling of Regex String Replace.
What the legacy name means for your workflow
Exactly what it meant for the other renamed nodes: the alias is a bridge, not a permanent feature. The README is explicit that legacy keys stay for one release cycle and are slated to go in 1.0. So if you're still on the old key, load the workflow and hit save once - ComfyUI rewrites it with MoonPack_SimpleStringReplace, and you're immune to the future removal.
The one behavioral thing worth remembering applies to both versions: replacements are sequential, top to bottom. A pair listed later sees the output of the pair listed earlier, so overlapping finds need deliberate ordering.
Installing it
It's part of MoonPack:
cd ComfyUI/custom_nodes
git clone https://github.com/moonwhaler/comfyui-moonpack.git
or ComfyUI Manager → MoonPack → install, restart. Under MoonPack/string. No models, no extra Python dependencies.
Bottom line
Same node, new name, one re-save to migrate. Don't rebuild anything - just save the workflow and move on.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Source text. | |
| find_replace_pairs | STRING | find => replace old => new | One pair per line in 'find => replace' format. Empty replacement removes text. |
| whole_word_matchopt | BOOLEAN | false | If true, only complete words match (uses regex \b boundaries). |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |
| ignored_lines | STRING | — |