On Wednesday, October 11, 2017 22:22:43 Johan Engelen via Digitalmars-d-
learn wrote:
> std.string.removechars is now deprecated.
> https://dlang.org/changelog/2.075.0.html#pattern-deprecate
>
> What is now the most efficient way to remove characters from a
> string, if only one type of character needs to be removed?
>
> ```
> // old
> auto old(string s) {
>      return s.removechars(",").to!int;
> }
>
> // new?
> auto newnew(string s) {
>      return s.filter!(a => a != ',').to!int;
> }
> ```

Well, in general, I'd guess that the fastest way to remove all instances of
a character from a string would be std.array.replace with the replacement
being the empty string, but if you're feeding it to std.conv.to rather than
really using the resultant string, then filter probably is faster, because
it won't allocate. Really though, you'd have to test for your use case and
see how fast a given solution is.

- Jonathan M Davis

Reply via email to