Spec-Zone.ru › C++

std::basic_string_view<CharT,Traits>::contains

constexpr bool contains( basic_string_view sv ) const noexcept;
(1) (начиная с C++23)
constexpr bool contains( CharT c ) const noexcept;
(2) (начиная с C++23)
constexpr bool contains( const CharT* s ) const;
(3) (начиная с C++23)

Проверяет, содержит ли строковое представление заданную подстроку, где

1) подстрока является строковым представлением.
2) подстрока является одним символом.
3) подстрока является строкой символов с завершающим нулевым символом.

Все три перегрузки эквивалентны return find(x) != npos;, где x — параметр.

Параметры

sv - строковое представление
c - один символ
s - строка символов с завершающим нулевым символом

Возвращаемое значение

true, если строковое представление содержит указанную подстроку, и false в противном случае.

Примечания

Макрос проверки поддержки возможностей Значение Стандарт Возможность
__cpp_lib_string_contains 202011L (C++23) contains функции

Пример

#include <string_view>
using namespace std::literals;

static_assert
(
    // bool contains(basic_string_view x) const noexcept;
    "https://cppreference.com"sv.contains("cpp"sv) == true and
    "https://cppreference.com"sv.contains("php"sv) == false and

    // bool contains(CharT x) const noexcept;
    "C++23"sv.contains('+') == true and
    "C++23"sv.contains('-') == false and

    // bool contains(const CharT* x) const;
    std::string_view("basic_string_view").contains("string") == true and
    std::string_view("basic_string_view").contains("String") == false
);

int main() {}

См. также

starts_with
(C++20)
проверяет, начинается ли строковое представление с заданного префикса
(открытая функция-член)
ends_with
(C++20)
проверяет, заканчивается ли строковое представление заданным суффиксом
(открытая функция-член)
find
находит символы в строковом представлении
(открытая функция-член)
substr
возвращает подстроку
(открытая функция-член)
contains
(C++23)
проверяет, содержит ли строка заданную подстроку или символ
(открытая функция-член std::basic_string<CharT,Traits,Allocator>)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/string/basic_string_view/contains

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API