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

Метод find

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

Синтаксис

str.find(substr, [pos])

Пример

Давайте найдем позицию подстроки "cd" в строке "abcde":

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

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

2

Пример

Давайте найдем позицию символа 'c' в строке "abcde":

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

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

2

Пример

Давайте найдем позицию подстроки "cd", начиная поиск с позиции 3:

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

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

18446744073709551615

Число 18446744073709551615 - это значение константы string::npos, которое означает, что подстрока не найдена.

Пример

Давайте проверим, найдена ли подстрока, сравнив результат со значением string::npos:

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

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

"found"

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

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