string为“CSD246253-072024-REV01-DWG”,C++写一个算法,获取string中”-“符号后数字长度为6个的子字符串
时间: 2024-12-22 10:26:46 浏览: 5
要从给定的`string`中获取"-"符号后长度为6的子字符串,你可以使用C++的`substr()`函数。这个函数接受两个参数,第一个是起始位置(包括),第二个是长度(不包括)。在这个例子中,我们先找到"-", 然后从该位置向后偏移6个字符。
```cpp
#include <iostream>
#include <string>
std::string get_substring(const std::string& str) {
size_t dash_index = str.find("-");
if (dash_index != std::string::npos) { // 检查"-"是否存在
return str.substr(dash_index + 1, 6); // 起始位置+1是因为我们要跳过"-"字符,长度为6
} else {
throw std::runtime_error("No '-' found in the string.");
}
}
int main() {
std::string input = "CSD246253-072024-REV01-DWG";
try {
std::string sub_str = get_substring(input);
std::cout << "Substring after '-' with length 6: " << sub_str << std::endl;
} catch (const std::exception& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
return 0;
}
```
阅读全文