Dephi 7 帮助手册中提到了 StringReplace ......
返回一个字符串,其中一个子字符串被另一个子字符串替换...
如果 Flags 不包含 rfReplaceAll,则 StringReplace 仅替换 S 中第一次出现的 OldPattern。否则,StringReplace 将所有 OldPattern 实例替换为 NewPattern。
“否则,StringReplace 用 NewPattern 替换所有 OldPattern 实例”的语句似乎是一个 BOGUS 语句,因为在下面的示例中,即使在我指示函数“替换 'aa' 的所有实例之后,“aa”的实例仍然存在(OldPattern) 与 'a' (NewPattern)"!
StringReplace('aaa aaa','aa','a',[rfReplaceAll]);
如果 Delphi 手册是准确的,那么我应该得到“a a”作为最终结果。不幸的是,我得到'aaaa'。显然,并非所有“OldPattern”('aa')实例都被替换了。
这是一个错误,还是仅仅是对该功能的误导/不准确描述?