跳到主要内容

std::string_view contains() 方法

// (1) Const version only
constexpr bool contains( basic_string_view sv ) const noexcept;

// (2) Const version only
constexpr bool contains( CharT c ) const noexcept;

// (3) Const version only
constexpr bool contains( const CharT* s ) const;

检查字符串视图是否包含给定的子字符串,其中

  • (1) 子字符串是字符串视图。
  • (2) 子字符串是单个字符。
  • (3) 子字符串是以 null 结尾的字符字符串。

所有三个重载实际上都执行

find(x) != npos;

其中 x 是参数。

参数

  • sv - 字符串视图
  • c - 一个字符
  • s - 以 null 结尾的字符串

返回值

如果视图包含提供的子字符串,则返回 true,否则返回 false

复杂度

重要

本节需要改进。您可以通过编辑此文档页面来帮助我们。

备注

功能测试宏:__cpp_lib_string_view_contains

示例

#include <iostream>
#include <string_view>

auto main() -> int
{
using namespace std::literals;

std::cout
<< std::boolalpha

// bool contains(basic_string_view x) const noexcept;
<< "https://cppreference.cn"sv.contains("cpp"sv) << ' ' // true
<< "https://cppreference.cn"sv.contains("java"sv) << ' ' // false

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

// bool contains(const CharT* x) const;
<< std::string_view("basic_string_view").contains("string") << ' ' // true
<< std::string_view("basic_string_view").contains("String") << ' ' // false
<< '\n';
}
输出
true false true false true false
本文源自 CppReference 页面。可能因改进或编辑偏好而有所修改。点击“编辑此页”可查看对本文档所做的所有更改。
悬停查看原始许可证。

std::string_view contains() 方法

// (1) Const version only
constexpr bool contains( basic_string_view sv ) const noexcept;

// (2) Const version only
constexpr bool contains( CharT c ) const noexcept;

// (3) Const version only
constexpr bool contains( const CharT* s ) const;

检查字符串视图是否包含给定的子字符串,其中

  • (1) 子字符串是字符串视图。
  • (2) 子字符串是单个字符。
  • (3) 子字符串是以 null 结尾的字符字符串。

所有三个重载实际上都执行

find(x) != npos;

其中 x 是参数。

参数

  • sv - 字符串视图
  • c - 一个字符
  • s - 以 null 结尾的字符串

返回值

如果视图包含提供的子字符串,则返回 true,否则返回 false

复杂度

重要

本节需要改进。您可以通过编辑此文档页面来帮助我们。

备注

功能测试宏:__cpp_lib_string_view_contains

示例

#include <iostream>
#include <string_view>

auto main() -> int
{
using namespace std::literals;

std::cout
<< std::boolalpha

// bool contains(basic_string_view x) const noexcept;
<< "https://cppreference.cn"sv.contains("cpp"sv) << ' ' // true
<< "https://cppreference.cn"sv.contains("java"sv) << ' ' // false

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

// bool contains(const CharT* x) const;
<< std::string_view("basic_string_view").contains("string") << ' ' // true
<< std::string_view("basic_string_view").contains("String") << ' ' // false
<< '\n';
}
输出
true false true false true false
本文源自 CppReference 页面。可能因改进或编辑偏好而有所修改。点击“编辑此页”可查看对本文档所做的所有更改。
悬停查看原始许可证。