Namensräume
Varianten
Aktionen

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

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

Sucht die letzte Teilzeichenkette, die mit der gegebenen Zeichenfolge übereinstimmt. Die Suche beginnt bei Position pos und verläuft von rechts nach links (daher kann die gefundene Teilzeichenkette, falls vorhanden, nicht an einer Position beginnen, die nach pos liegt). Wenn npos oder ein Wert, der nicht kleiner als size() - 1 ist, als pos übergeben wird, wird die gesamte Zeichenkette durchsucht.

1) Sucht das letzte Vorkommen von v in dieser Ansicht, beginnend bei Position pos.
2) Äquivalent zu rfind(basic_string_view(std::addressof(ch), 1), pos).
3) Äquivalent zu rfind(basic_string_view(s, count), pos).
4) Äquivalent zu rfind(basic_string_view(s), pos).

Inhalt

[bearbeiten] Parameter

v - Zu suchende Ansicht
pos - Position, an der die Suche beginnen soll
zählt - Länge der zu durchsuchenden Teilzeichenkette
s - Zeiger auf eine zu durchsuchende Zeichenkette
ch - Zu durchsuchendes Zeichen

[bearbeiten] Rückgabewert

Position des ersten Zeichens der gefundenen Teilzeichenkette oder npos, wenn keine solche Teilzeichenkette gefunden wurde.

[bearbeiten] Komplexität

Im schlimmsten Fall O(size() * v.size()).

[bearbeiten] Beispiel

#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'))
    );
}

[bearbeiten] Siehe auch

sucht Zeichen in der Ansicht
(öffentliche Member-Funktion) [edit]
findet das erste Vorkommen von Zeichen
(öffentliche Member-Funktion) [edit]
findet das letzte Vorkommen von Zeichen
(öffentliche Member-Funktion) [edit]
findet das erste Fehlen von Zeichen
(öffentliche Member-Funktion) [edit]
findet das letzte Fehlen von Zeichen
(öffentliche Member-Funktion) [edit]
sucht das letzte Vorkommen einer Teilzeichenkette
(public member function of std::basic_string<CharT,Traits,Allocator>) [bearbeiten]