截取一个大字符串中两个特定字串之间的内容(c++)
时间: 2023-12-27 11:32:06 浏览: 182
在 C++ 中,可以使用字符串的 `find()` 和 `substr()` 函数来截取两个特定子串之间的内容。下面是一个示例代码:
```cpp
#include <iostream>
#include <string>
std::string extractSubstring(const std::string& sourceString, const std::string& startSubstring, const std::string& endSubstring) {
size_t startIndex = sourceString.find(startSubstring);
size_t endIndex = sourceString.find(endSubstring);
if (startIndex == std::string::npos || endIndex == std::string::npos) {
return "未找到指定的子串";
}
startIndex += startSubstring.length();
return sourceString.substr(startIndex, endIndex - startIndex);
}
int main() {
std::string sourceString = "这是一个示例字符串,开始子串在这里,结束子串在这里。";
std::string startSubstring = "开始子串";
std::string endSubstring = "结束子串";
std::string extractedString = extractSubstring(sourceString, startSubstring, endSubstring);
std::cout << extractedString << std::endl;
return 0;
}
```
在这个例子中,`extractSubstring()` 函数接受三个参数:`sourceString` 是要截取的大字符串,`startSubstring` 是要截取内容的起始子串,`endSubstring` 是要截取内容的结束子串。函数首先使用 `find()` 函数找到这两个子串在大字符串中的位置,然后使用 `substr()` 函数截取它们之间的内容。如果找不到指定的子串,则返回一个提示信息。
你可以根据你的需求修改 `sourceString`、`startSubstring` 和 `endSubstring` 的值,并调用 `extractSubstring()` 函数来提取你想要的内容。
阅读全文