std::basic_string_view<CharT,Traits>::rfind
Von cppreference.com
< cpp | string | basic string view
| 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
Führen Sie diesen Code aus
#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) | |
| findet das erste Vorkommen von Zeichen (öffentliche Member-Funktion) | |
| findet das letzte Vorkommen von Zeichen (öffentliche Member-Funktion) | |
| findet das erste Fehlen von Zeichen (öffentliche Member-Funktion) | |
| findet das letzte Fehlen von Zeichen (öffentliche Member-Funktion) | |
| sucht das letzte Vorkommen einer Teilzeichenkette (public member function of std::basic_string<CharT,Traits,Allocator>) |