Skip to main content

std::string_view find() method

// (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 position pos.
  • (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 for
  • pos - position at which to start the search
  • count - length of substring to search for
  • s - pointer to a character string to search for
  • ch - 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.

std::string_view find() method

// (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 position pos.
  • (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 for
  • pos - position at which to start the search
  • count - length of substring to search for
  • s - pointer to a character string to search for
  • ch - 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.