РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
150 of 815 menu

Метод rfind

Метод rfind класса string ищет последнее вхождение подстроки или символа в строке. Поиск ведется с конца строки к началу, но возвращается обычная позиция от начала строки. Если вхождение не найдено, метод возвращает специальное значение string::npos. Сама строка при этом не изменяется. В первый параметр мы передаем искомую подстроку или символ, во второй - позицию, с которой следует начинать поиск (поиск идет влево от этой позиции).

Синтаксис

str.rfind(substr, [pos])

Пример

Давайте найдем последнее вхождение символа 'a' в строке "abcdeabcde":

#include <iostream> #include <string> using namespace std; int main() { string str = "abcdeabcde"; cout << str.rfind('a') << endl; return 0; }

Результат выполнения кода:

5

Пример

Давайте найдем последнее вхождение подстроки "cd" в строке "abcdeabcde":

#include <iostream> #include <string> using namespace std; int main() { string str = "abcdeabcde"; cout << str.rfind("cd") << endl; return 0; }

Результат выполнения кода:

7

Пример

Давайте ограничим поиск позицией 4, то есть будем искать последнее вхождение символа 'a' только среди первых 5 символов строки:

#include <iostream> #include <string> using namespace std; int main() { string str = "abcdeabcde"; cout << str.rfind('a', 4) << endl; return 0; }

Результат выполнения кода:

0

Пример

Давайте проверим, что вернет метод rfind, если вхождение не найдено:

#include <iostream> #include <string> using namespace std; int main() { string str = "abcde"; if (str.rfind('z') == string::npos) { cout << "not found" << endl; } return 0; }

Результат выполнения кода:

"not found"

Смотрите также

  • метод find,
    который ищет первое вхождение подстроки
  • метод find_last_of,
    который ищет последнее вхождение любого из символов
  • метод substr,
    который вырезает подстроку из строки
  • метод replace,
    который заменяет часть строки на другую
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить