Namespaces
Variants

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

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

Trouve la dernière sous-chaîne égale à la séquence de caractères donnée. La recherche commence à pos et procède de droite à gauche (ainsi, la sous-chaîne trouvée, si elle existe, ne peut pas commencer à une position suivant pos ). Si npos ou toute valeur non inférieure à size() - 1 est passée comme pos , la chaîne entière sera recherchée.

1) Trouve la dernière occurrence de v dans cette vue, en commençant à la position pos .
2) Équivalent à rfind ( basic_string_view ( std:: addressof ( ch ) , 1 ) , pos ) .
3) Équivalent à rfind ( basic_string_view ( s, count ) , pos ) .
4) Équivalent à rfind ( basic_string_view ( s ) , pos ) .

Table des matières

Paramètres

v - vue à rechercher
pos - position à laquelle commencer la recherche
count - longueur de la sous-chaîne à rechercher
s - pointeur vers une chaîne de caractères à rechercher
ch - caractère à rechercher

Valeur de retour

Position du premier caractère de la sous-chaîne trouvée ou npos si aucune sous-chaîne de ce type n'est trouvée.

Complexité

O( size() * v. size() ) au pire.

Exemple

#include <string_view>
int main()
{
    using namespace std::literals;
    constexpr auto N = std::string_view::npos;
    static_assert(true
        && (6 == "AB AB AB"sv.rfind("AB"))
        && (6 == "AB AB AB"sv.rfind("ABCD", N, 2))
        && (3 == "AB AB AB"sv.rfind("AB", 5))
        && (0 == "AB CD EF"sv.rfind("AB", 0))
        && (2 == "B AB AB "sv.rfind("AB", 2))
        && (N == "B AB AB "sv.rfind("AB", 1))
        && (5 == "B AB AB "sv.rfind('A'))
        && (4 == "AB AB AB"sv.rfind('B', 4))
        && (N == "AB AB AB"sv.rfind('C'))
    );
}

Voir aussi

rechercher des caractères dans la vue
(fonction membre publique)
rechercher la première occurrence de caractères
(fonction membre publique)
rechercher la dernière occurrence de caractères
(fonction membre publique)
rechercher la première absence de caractères
(fonction membre publique)
rechercher la dernière absence de caractères
(fonction membre publique)
rechercher la dernière occurrence d'une sous-chaîne
(fonction membre publique de std::basic_string<CharT,Traits,Allocator> )