Метод find
Метод find класса string_view ищет подстроку или символ в строке и возвращает позицию первого вхождения. Если вхождение не найдено, возвращается специальное значение npos. В первый параметр мы передаём искомую подстроку или символ, во второй - позицию, с которой начинать поиск (по умолчанию с начала строки).
Синтаксис
view.find(substr, [pos])
Пример
Давайте найдём подстроку "bcd" в строке "abcde" и выведем позицию первого вхождения:
#include <iostream>
#include <string_view>
using namespace std;
int main()
{
string_view view = "abcde";
cout << view.find("bcd") << endl;
return 0;
}
Результат выполнения кода:
1
Пример
Давайте найдём символ 'd' в строке "abcde":
#include <iostream>
#include <string_view>
using namespace std;
int main()
{
string_view view = "abcde";
cout << view.find('d') << endl;
return 0;
}
Результат выполнения кода:
3
Пример
Давайте попробуем найти подстроку "xyz", которой нет в строке "abcde". В этом случае метод вернёт npos:
#include <iostream>
#include <string_view>
using namespace std;
int main()
{
string_view view = "abcde";
if (view.find("xyz") == string_view::npos) {
cout << "not found" << endl;
}
return 0;
}
Результат выполнения кода:
"not found"
Смотрите также
-
класс
string_view,
который представляет собой легковесное представление строки -
метод
substr,
который возвращает подстроку -
метод
starts_with,
который проверяет начало строки -
метод
contains,
который проверяет наличие подстроки