C++ find求子串的位置请分别用find及substr两种方法求解;
作者:野牛程序员:2023-12-09 08:58:49 C++阅读 2988
C++ find求子串的位置请分别用find及substr两种方法求解;
find
和 substr
是 C++ 标准库中用于处理字符串的两个重要函数。以下是对这两个函数的详细讲解:
find 函数:
find
函数用于在字符串中查找指定的子串,并返回第一次出现的位置。如果未找到子串,则返回 std::string::npos
。
#include <iostream> #include <string> int main() { std::string mainString = "Hello, World!"; std::string subString = "World"; // 使用 find 方法查找子串的位置 size_t found = mainString.find(subString); if (found != std::string::npos) { std::cout << "子串在位置:" << found << std::endl; } else { std::cout << "未找到子串" << std::endl; } // 使用 substr 方法查找子串的位置 size_t startPos = mainString.find(subString); if (startPos != std::string::npos) { std::string foundSubstring = mainString.substr(startPos, subString.length()); std::cout << "子串在位置:" << startPos << ",子串内容:" << foundSubstring << std::endl; } else { std::cout << "未找到子串" << std::endl; } return 0; }
请注意,find
方法返回子串的起始位置,而substr
方法则返回从起始位置开始的指定长度的子串。在这个例子中,首先使用find
方法找到子串的起始位置,然后使用substr
方法获取子串的内容。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
