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

Метод find_first_of

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

Синтаксис

str.find_first_of(set, [pos])

Пример

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

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

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

2

Пример

Давайте найдем позицию первого символа из набора "xy", которого нет в строке "abcde". В этом случае метод вернет string::npos:

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

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

"not found"

Пример

Давайте начнем поиск символов из набора "ab" в строке "abcde" не с начала, а с позиции 1:

#include <iostream> #include <string> using namespace std; int main() { string str = "abcde"; size_t pos = str.find_first_of("ab", 1); cout << pos << endl; return 0; }

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

1

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

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