Namespaces
Variants

std::basic_string_view<CharT,Traits>:: find_last_of

From cppreference.net
constexpr size_type
find_last_of ( basic_string_view v, size_type pos = npos ) const noexcept ;
(1) (desde C++17)
constexpr size_type
find_last_of ( CharT ch, size_type pos = npos ) const noexcept ;
(2) (desde C++17)
constexpr size_type
find_last_of ( const CharT * s, size_type pos, size_type count ) const ;
(3) (desde C++17)
constexpr size_type
find_last_of ( const CharT * s, size_type pos = npos ) const ;
(4) (desde C++17)

Encuentra el último carácter igual a uno de los caracteres en la secuencia de caracteres dada. El algoritmo de búsqueda exacto no está especificado. La búsqueda considera solo el intervalo [ 0 , pos ] . Si el carácter no está presente en el intervalo, npos será retornado.

1) Encuentra la última aparición de cualquiera de los caracteres de v en esta vista, terminando en la posición pos .
2) Equivalente a find_last_of ( basic_string_view ( std:: addressof ( ch ) , 1 ) , pos ) .
3) Equivalente a find_last_of ( basic_string_view ( s, count ) , pos ) .
4) Equivalente a find_last_of ( basic_string_view ( s ) , pos ) .

Contenidos

Parámetros

v - vista a buscar
pos - posición en la que debe finalizar la búsqueda
count - longitud de la cadena de caracteres a buscar
s - puntero a una cadena de caracteres a buscar
ch - carácter a buscar

Valor de retorno

Posición de la última ocurrencia de cualquier carácter de la subcadena, o npos si no se encuentra dicho carácter.

Complejidad

O( size() * v. size() ) en el peor caso.

Ejemplo

#include <string_view>
using namespace std::literals;
constexpr auto N = std::string_view::npos;
static_assert(
    5 == "delete"sv.find_last_of("cdef"sv) &&
      //       └────────────────────┘
    N == "double"sv.find_last_of("fghi"sv) &&
      //
    0 == "else"sv.find_last_of("bcde"sv, 2 /* posición [0..2]: "els" */) &&
      //  └────────────────────────┘
    N == "explicit"sv.find_last_of("abcd"sv, 4 /* posición [0..4]: "expli" */) &&
      //
    3 == "extern"sv.find_last_of('e') &&
      //     └────────────────────┘
    N == "false"sv.find_last_of('x') &&
      //
    0 == "inline"sv.find_last_of('i', 2 /* posición [0..2]: "inl" */) &&
      //  └───────────────────────┘
    N == "mutable"sv.find_last_of('a', 2 /* posición [0..2]: "mut" */) &&
      //
    3 == "namespace"sv.find_last_of("cdef", 3 /* posición [0..3]: "name" */, 3 /* "cde" */) &&
      //     └─────────────────────────┘
    N == "namespace"sv.find_last_of("cdef", 3 /* posición [0..3]: "name" */, 2 /* "cd" */)
);
int main() {}

Véase también

buscar caracteres en la vista
(función miembro pública)
buscar la última ocurrencia de una subcadena
(función miembro pública)
buscar primera ocurrencia de caracteres
(función miembro pública)
buscar primera ausencia de caracteres
(función miembro pública)
buscar última ausencia de caracteres
(función miembro pública)
buscar última ocurrencia de caracteres
(función miembro pública de std::basic_string<CharT,Traits,Allocator> )