std.string.lastIndexOf
- multiple declarations
Function lastIndexOf
Searches for the last occurrence of a character in a string.
ptrdiff_t lastIndexOf(Char)(
const(Char)[] s,
in dchar c,
in CaseSensitive cs = Yes .caseSensitive
) pure @safe
if (isSomeChar!Char);
ptrdiff_t lastIndexOf(Char)(
const(Char)[] s,
in dchar c,
in size_t startIdx,
in CaseSensitive cs = Yes .caseSensitive
) pure @safe
if (isSomeChar!Char);
Parameters
Name | Description |
---|---|
s | string to search for c in |
c | character to search for in s |
startIdx | index of a well-formed code point in s to start searching
from; defaults to 0 |
cs | specifies whether comparisons are case-sensitive
(Yes ) or not (No ) |
Returns
If c
is found in s
, then the index of its last occurrence is
returned. If c
is not found or startIdx
is greater than or equal to
s
, then -1 is returned. If the parameters are not valid UTF,
the result will still be either -1 or in the range [startIdx
..
s
], but will not be reliable otherwise.
Throws
If the sequence ending at startIdx
does not represent a well-formed
code point, then a UTFException
may be thrown.
Example
import std .typecons : No;
string s = "Hello World";
writeln(lastIndexOf(s, 'l')); // 9
writeln(lastIndexOf(s, 'Z')); // -1
writeln(lastIndexOf(s, 'L', No .caseSensitive)); // 9
Example
import std .typecons : No;
string s = "Hello World";
writeln(lastIndexOf(s, 'l', 4)); // 3
writeln(lastIndexOf(s, 'Z', 1337)); // -1
writeln(lastIndexOf(s, 'L', 7, No .caseSensitive)); // 3
Function lastIndexOf
Searches for the last occurrence of a substring in a string.
ptrdiff_t lastIndexOf(Char1, Char2)(
const(Char1)[] s,
const(Char2)[] sub,
in CaseSensitive cs = Yes .caseSensitive
) pure @safe
if (isSomeChar!Char1 && isSomeChar!Char2);
ptrdiff_t lastIndexOf(Char1, Char2)(
const(Char1)[] s,
const(Char2)[] sub,
in size_t startIdx,
in CaseSensitive cs = Yes .caseSensitive
) pure @safe
if (isSomeChar!Char1 && isSomeChar!Char2);
Parameters
Name | Description |
---|---|
s | string to search for sub in |
sub | substring to search for in s |
startIdx | index to a well-formed code point in s to start
searching from; defaults to 0 |
cs | specifies whether comparisons are case-sensitive
(Yes ) or not (No ) |
Returns
The index of the last occurrence of sub
in s
. If sub
is not found
or startIdx
is greater than or equal to s
, then -1 is
returned. If the parameters are not valid UTF, the result will still be
either -1 or in the range [startIdx
.. s
], 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.
Bugs
Does not work with case-insensitive strings where the mapping of
toLower
and toUpper
is not 1:1.
Example
import std .typecons : No;
string s = "Hello World";
writeln(lastIndexOf(s, "ll")); // 2
writeln(lastIndexOf(s, "Zo")); // -1
writeln(lastIndexOf(s, "lL", No .caseSensitive)); // 2
Example
import std .typecons : No;
string s = "Hello World";
writeln(lastIndexOf(s, "ll", 4)); // 2
writeln(lastIndexOf(s, "Zo", 128)); // -1
writeln(lastIndexOf(s, "lL", 3, No .caseSensitive)); // -1
Authors
Walter Bright, Andrei Alexandrescu, Jonathan M Davis, and David L. 'SpottedTiger' Davis