Function std.string.indexOfNeither
Searches haystack for a character not in needles.
ptrdiff_t indexOfNeither(Char, Char2)(
const(Char)[] haystack,
const(Char2)[] needles,
in CaseSensitive cs = Yes .caseSensitive
) pure @safe
if (isSomeChar!Char && isSomeChar!Char2);
ptrdiff_t indexOfNeither(Char, Char2)(
const(Char)[] haystack,
const(Char2)[] needles,
in size_t startIdx,
in CaseSensitive cs = Yes .caseSensitive
) pure @safe
if (isSomeChar!Char && isSomeChar!Char2);
Parameters
| Name | Description |
|---|---|
| haystack | string to search for needles in |
| needles | characters to search for in haystack |
| startIdx | index of a well-formed code point in haystack to start
searching from; defaults to 0 |
| cs | specifies whether comparisons are case-sensitive
(Yes) or not (No) |
Returns
The index of the first character in haystack that is not an element of
needles. If all characters of haystack are elements of needles or
startIdx is greater than or equal to haystack, then -1 is
returned. If the parameters are not valid UTF, the result will still be
either -1 or in the range [startIdx .. haystack], but will
not be reliable otherwise.
Throws
If the sequence starting at startIdx does not represent a well-formed
code point, then a UTFException may be thrown.
Example
writeln(indexOfNeither("abba", "a", 2)); // 2
writeln(indexOfNeither("def", "de", 1)); // 2
writeln(indexOfNeither("dfefffg", "dfe", 4)); // 6
Example
writeln(indexOfNeither("def", "a")); // 0
writeln(indexOfNeither("def", "de")); // 2
writeln(indexOfNeither("dfefffg", "dfe")); // 6
Authors
Walter Bright, Andrei Alexandrescu, Jonathan M Davis, and David L. 'SpottedTiger' Davis