c++在字符串中读取括号中的数字
时间: 2024-10-27 09:07:51 浏览: 13
在C++中,如果你想从字符串中提取括号内的数字,你可以使用正则表达式库`<regex>`或者标准库函数如`std::stoi`配合一些循环结构。下面是一个简单的示例,展示如何使用`std::regex`匹配并提取:
```cpp
#include <iostream>
#include <regex>
#include <string>
int extractNumberFromBrackets(const std::string& str) {
std::smatch match;
std::regex pattern("\\((\\d+?)\\)");
if (std::regex_search(str, match, pattern)) {
return std::stoi(match[1]); // 提取括号内的整数
}
return -1; // 如果未找到括号中的数字,返回错误值
}
int main() {
std::string input = "这是一个包含(123)和(456)数字的字符串";
int number = extractNumberFromBrackets(input);
if (number != -1) {
std::cout << "括号中的第一个数字是: " << number << '\n';
} else {
std::cout << "无法找到括号中的数字.\n";
}
return 0;
}
```
在这个例子中,`extractNumberFromBrackets`函数查找以小括号包围的数字,并尝试将其转换为整数。如果找不到括号中的数字,它会返回-1。
阅读全文