Project Replacements: will not process the replacement unless the "Replace" variable is part of the "With" field.

In Project Replacements, it seems a replacement will not process the replacement unless the found variable is part of the replacement field. This is what I mean:
If I use “comment{$@}” as the “Replace” field, and “bob[[$@]]” as the “With” field, everything work fine.
But if I use " " or “bob” as the “With” field, the replacement doesn’t take place. I’d expect such replacement to work, if we follow the logic of find/replace within the program, or with regexp logic. A bug?

The $@ placeholder is intended for matching and replacing text around it and does have the limitation of needing to be included in the replacement. If you want to strip that text out, RegEx is the way to go. So for instance replace “comment{.+}” with whatever you want and ensure the “RegEx” box is ticked for the replacement. (You may want to restrict the contents between the curly braces a bit more, depending on your needs.)