std::basic_string<CharT,Traits,Allocator>::contains
来自cppreference.com
< cpp | string | basic string
constexpr bool contains( std::basic_string_view<CharT,Traits> 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) 字符串视图
sv
(可能为从另一 std::basic_string
隐式转换的结果)。2) 单个字符
c
。3) 空终止字符串
s
。所有三个重载都等价于 return find(x) != npos; ,其中 x
为参数。
参数
sv | - | 字符串视图,可能为从另一 std::basic_string 隐式转换的结果
|
c | - | 单个字符 |
s | - | 空终止字符串 |
返回值
若字符串含有给定子串则为 true ,否则为 false 。
示例
运行此代码
#include <iostream> #include <string_view> #include <string> template <typename SubstrType> void test_substring_print(const std::string& str, SubstrType subs) { std::cout << '\'' << str << "' contains '" << subs << "': " << str.contains(subs) << '\n'; } int main() { std::boolalpha(std::cout); auto helloWorld = std::string("hello world"); test_substring_print(helloWorld, std::string_view("hello")); test_substring_print(helloWorld, std::string_view("goodbye")); test_substring_print(helloWorld, 'w'); test_substring_print(helloWorld, 'x'); }
输出:
'hello world' contains 'hello': true 'hello world' contains 'goodbye': false 'hello world' contains 'w': true 'hello world' contains 'x': false
参阅
(C++20) |
检查字符串是否始于给定前缀 (公开成员函数) |
(C++20) |
检查字符串是否终于给定后缀 (公开成员函数) |
于字符串中寻找字符 (公开成员函数) | |
返回子串 (公开成员函数) |