std::string_view find() method
- since C++17
// (1) Const version only
constexpr size_type find( basic_string_view v, size_type pos = 0 ) const noexcept;
// (2) Const version only
constexpr size_type find( CharT ch, size_type pos = 0 ) const noexcept;
// (3) Const version only
constexpr size_type find( const CharT* s, size_type pos, size_type count ) const;
// (4) Const version only
constexpr size_type find( const CharT* s, size_type pos = 0 ) const;
Finds the first substring equal to the given character sequence.
- (1) Finds the first occurence of
v
in this view, starting at positionpos
. - (2) Equivalent to
find(basic_string_view(std::addressof(ch), 1), pos)
. - (3) Equivalent to
find(basic_string_view(s, count), pos)
. - (4) Equivalent to
find(basic_string_view(s), pos)
.
Parameters
v
- view to search forpos
- position at which to start the searchcount
- length of substring to search fors
- pointer to a character string to search forch
- character to search for
Return value
Position of the first character of the found substring, or npos
if no such substring is found.
Complexity
O(size() * v.size()) at worst.
important
This section requires improvement. You can help by editing this doc page.
Exceptions
(none)
Example
#include <string_view>
int main()
{
using namespace std::literals;
constexpr auto str{" long long int;"sv};
static_assert(
1 == str.find("long"sv) && "<- find(v , pos = 0)" &&
6 == str.find("long"sv, 2) && "<- find(v , pos = 2)" &&
0 == str.find(' ') && "<- find(ch, pos = 0)" &&
2 == str.find('o', 1) && "<- find(ch, pos = 1)" &&
2 == str.find("on") && "<- find(s , pos = 0)" &&
6 == str.find("long double", 5, 4) && "<- find(s , pos = 5, count = 4)"
);
static_assert(str.npos == str.find("float"));
}
This article originates from this CppReference page. It was likely altered for improvements or editors' preference. Click "Edit this page" to see all changes made to this document.
Hover to see the original license.
Hover to see the original license.