replaceAllInto

fnvoid replaceAllInto(Sink, R, C, RegEx)(Sink sink, R input, RegEx re, const(C)[] format) if (isOutputRange!(Sink, dchar) && isSomeString!R && is(C : dchar) && isRegexFor!(RegEx, R)) @trusted

A variation on replaceAll that instead of allocating a new string on each call outputs the result piece-wise to the sink. In particular this enables efficient construction of a final output incrementally.

As with replaceAll there are 2 overloads - one with a format string, the other one with a user defined functor.

fnvoid replaceAllInto(alias fun, Sink, R, RegEx)(Sink sink, R input, RegEx re) if (isOutputRange!(Sink, dchar) && isSomeString!R && isRegexFor!(RegEx, R)) @trusted

ditto