std::basic_string<CharT,Traits,Allocator>::contains — cppreference.com
Материал из cppreference.com
<tbody> </tbody>
|
|
(1) | (начиная с C++23) |
|
|
(2) | (начиная с C++23) |
|
|
(3) | (начиная с C++23) |
Проверяет, содержит ли строка заданную подстроку. Подстрока может быть одним из следующих:
1) Строковое представление sv (которое может быть результатом неявного преобразования из другого std::basic_string).
2) Один символ ch.
3) Строка символов s, завершающаяся нулём.
Все три перегрузки эквивалентны return find(x) != npos;, где x это параметр.
Параметры
| sv | — | строковое представление, которое может быть результатом неявного преобразования из другого std::basic_string
|
| ch | — | один символ |
| s | — | строка символов, завершающаяся нулём |
Возвращаемое значение
true, если строка содержит указанную подстроку, false иначе.
Примечание
| Макрос Тестирования функциональности | Значение | Стандарт | Функциональность |
|---|---|---|---|
__cpp_lib_string_contains |
202011L |
(C++23) | функции contains
|
Пример
#include <iomanip> #include <iostream> #include <string> #include <string_view> #include <type_traits> template<typename SubstrType> void test_substring(const std::string& str, SubstrType subs) { constexpr char delim = std::is_scalar_v<SubstrType> ? '\'' : '\"'; std::cout << std::quoted(str) << (str.contains(subs) ? " содержит " : " не содержит ") << std::quoted(std::string{subs}, delim) << '\n'; } int main() { using namespace std::literals; auto helloWorld = "hello world"s; test_substring(helloWorld, "hello"sv); test_substring(helloWorld, "goodbye"sv); test_substring(helloWorld, 'w'); test_substring(helloWorld, 'x'); }
Вывод:
"hello world" содержит "hello" "hello world" не содержит "goodbye" "hello world" содержит 'w' "hello world" не содержит 'x'
Смотрите также
| проверяет, начинается ли строка с заданного префикса (public функция-элемент) [править] | |
| проверяет, заканчивается ли строка заданным суффиксом (public функция-элемент) [править] | |
| находит первое вхождение заданной подстроки (public функция-элемент) [править] | |
| возвращает подстроку (public функция-элемент) [править] | |
| проверяет, содержит ли строковое представление заданную подстроку или символ (public функция-элемент std::basic_string_view<CharT,Traits>) [править]
|