[Issue 20184] String maxsplit
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Sep 2 06:56:02 UTC 2019
https://issues.dlang.org/show_bug.cgi?id=20184
Alex <sascha.orlov at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |sascha.orlov at gmail.com
--- Comment #4 from Alex <sascha.orlov at gmail.com> ---
As a workaround, this is possible:
´´´
import std;
void main()
{
"one two three four".fun1(1).writeln;
"one two three four".fun2(2).writeln;
}
auto fun1(string s, size_t num)
{
size_t summe;
auto r = s.splitter(' ').take(num).tee!(a => summe += a.length + 1).array;
return r ~ s[summe .. $];
}
auto fun2(string s, size_t num)
{
auto i = s.splitter(' ').take(num);
return i.array ~ s[i.map!(el => el.length).sum + num .. $];
}
´´´
If the splitter construct allowed public access to its underlying range, more
convenient solutions were possible.
--
More information about the Digitalmars-d-bugs
mailing list