Spec-Zone.ru › C++

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

constexpr bool contains( basic_string_view sv ) const noexcept;
(1) (since C++23)
constexpr bool contains( CharT c ) const noexcept;
(2) (since C++23)
constexpr bool contains( const CharT* s ) const;
(3) (since 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/w/cpp/string/basic_string_view/contains

Spec-Zone.ru

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