std::string_view contains() 方法
- 自 C++23 起
// (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