c++写一个,string,倒数找出,第二个_到第三个_之前的字符
时间: 2024-10-21 10:17:15 浏览: 19
C++ string 字符串查找匹配实例代码
在C++中,你可以使用`substr()`函数和数组索引来实现这个功能。假设你想找到从字符串中两个特定下划线 `_` 之间的字符,你需要遍历一次字符串,并记住上次看到下划线的位置。这里是一个简单的示例:
```cpp
#include <iostream>
#include <string>
std::string find_substring(const std::string& str) {
size_t start = -1; // 初始化开始位置为 -1 表示尚未找到第一个 _
for (size_t i = 0; i < str.length(); ++i) {
if (str[i] == '_') { // 找到下划线
if (start != -1) { // 如果找到了第一个_,记录位置
start = i;
} else {
continue; // 遇到第一个_,跳过直到找到第二个_
}
} else if (start != -1) { // 当前字符不是下划线,且我们已找到一个_
return str.substr(start + 1, i - start - 1); // 返回从第二个_到当前位置的子串
}
}
// 如果没有找到三个连续的下划线,返回空字符串
return "";
}
int main() {
std::string input = "a_b_c_d__e_f";
std::string result = find_substring(input);
if (!result.empty()) {
std::cout << "Substring between second and third underscore is: " << result << std::endl;
} else {
std::cout << "No substring found with two consecutive underscores." << std::endl;
}
return 0;
}
```
阅读全文