📅  最后修改于: 2023-12-03 15:29:53.184000             🧑  作者: Mango
在 C++20 中,标准库中新增了两个函数:starts_with()
和 ends_with()
,可用于检查一个字符串是否以指定的前缀或后缀开始或结束。本文将详细介绍这两个函数的用法和示例。
starts_with()
函数用于判断一个字符串是否以指定的前缀开始,函数的定义如下:
bool starts_with(const std::string& str, const std::string& prefix);
第一个参数是待检查的字符串,第二个参数是待检查的前缀。函数返回一个布尔值,表示待检查的字符串是否以指定的前缀开始。
以下是一个示例代码:
#include <string>
#include <iostream>
int main(){
std::string str = "hello world";
std::string prefix = "hello";
if(str.starts_with(prefix)){
std::cout << "str starts with prefix\n";
}
return 0;
}
这个示例中,我们首先定义了一个字符串 str
,然后定义了一个前缀 prefix
。我们使用 starts_with()
函数检查 str
是否以 prefix
开始,如果是则输出一条消息。
ends_with()
函数用于判断一个字符串是否以指定的后缀结束,函数的定义如下:
bool ends_with(const std::string& str, const std::string& suffix);
第一个参数是待检查的字符串,第二个参数是待检查的后缀。函数返回一个布尔值,表示待检查的字符串是否以指定的后缀结束。
以下是一个示例代码:
#include <string>
#include <iostream>
int main(){
std::string str = "hello world";
std::string suffix = "world";
if(str.ends_with(suffix)){
std::cout << "str ends with suffix\n";
}
return 0;
}
这个示例中,我们首先定义了一个字符串 str
,然后定义了一个后缀 suffix
。我们使用 ends_with()
函数检查 str
是否以 suffix
结束,如果是则输出一条消息。
需要注意的是,这两个函数都是区分大小写的。如果你需要不区分大小写的比较,可以先将字符串转换为小写或大写,再进行比较。
除了字符串以外,这两个函数还可以用于其他类型的容器,例如 std::vector
、std::array
等。在这些容器上使用这两个函数的用法和字符串类似,只需要把参数的类型改成对应的容器类型即可。
以上就是 C++20 中的 starts_with()
和 ends_with()
函数的介绍和示例,希望可以对你有所帮助。