phobos and splitting things... but not with whitespace.
simendsjo
simendsjo at gmail.com
Sat Jun 23 10:02:48 PDT 2012
On Sat, 23 Jun 2012 18:56:24 +0200, simendsjo <simendsjo at gmail.com> wrote:
> On Sat, 23 Jun 2012 18:50:05 +0200, Chad J
> <chadjoan at __spam.is.bad__gmail.com> wrote:
>
>> Looking for findSplit?
>> http://dlang.org/phobos/std_algorithm.html#findSplit
>> Cool, that's what I want!
>> Now if I could find the elegant way to remove exactly one line from
>> the text without scanning the text after it...
>
> Isn't that exactly what findSplit does? It doesn't have to search the
> rest of the string after the match, it just returns a slice of the rest
> of the array (I guess - haven't read the code)
import std.stdio, std.algorithm;
void main() {
auto text = "1\n2\n3\n4";
auto res = text.findSplit("\n");
auto pre = res[0];
assert(pre.ptr == text.ptr); // no copy for pre match
auto match = res[1];
assert(match.ptr == &text[1]); // no copy for needle
auto post = res[2];
assert(post.ptr == &text[2]); // no copy for post match
assert(post.length == 5);
}
More information about the Digitalmars-d-learn
mailing list