I tested std.array.replaceFirst with the code belown: string s1 = "abc bcf"; string s2 = s1.replaceFirst("bc", "ee"); writefln("%s\n%s", s1, s2); and got s2 is "aee". Should it be "aee bcf"? Is it a bug, or just it is that? Thanks. ---------- Zhang <bitworld at qq.com>