On Friday, 23 September 2022 at 08:50:42 UTC, Salih Dincer wrote:
On Thursday, 22 September 2022 at 21:49:36 UTC, Ali Çehreli
wrote:
On 9/22/22 14:31, Salih Dincer wrote:
If you have multiple '\0' chars that you will continue looking
for, how about the following?
It can be preferred in terms of working at ranges. But it
isn't useful in terms of having more than one character and
moving away from strings. For example:
```d
auto data = [ "hello", "and", "goodbye", "world" ];
auto hasZeros = data.joiner("\0\0").text; // ("hello\0\0",
"and\0\0", "goodbye\0\0", "world\0\0")
assert(hasZeros.count('\0') == 7);
assert(hasZeros.splitz.walkLength == data.length * 2 - 1);
auto range = hasZeros.splitz; // ("hello", "", "and", "",
"goodbye", "", "world")
```
SDB@79
You should be explicit with requirements. It was hard to tell if
you original code was correct.
```d
auto splitz(string s) {
return s.splitter('\0')
.filter!(x => !x.empty);
}
```