在c++中怎么提取数字
时间: 2024-11-03 19:14:29 浏览: 12
C++编程实现的手写数字识别
5星 · 资源好评率100%
在C++中,你可以使用`std::stringstream`或者`std::regex`库来提取字符串中的数字。这里我们介绍两种方法:
**使用`stringstream`:**
```cpp
#include <sstream>
#include <string>
std::string str = "The price is $123.45";
double number;
std::istringstream iss(str);
iss >> number;
if (iss.fail()) {
std::cout << "No number found" << std::endl;
} else {
std::cout << "Found number: " << number << std::endl;
}
```
**使用`std::regex`:**
```cpp
#include <iostream>
#include <regex>
std::string str = "The quantity is 45 items";
std::smatch match;
std::regex expression("\\d+"); // 匹配一个或多个数字
if (std::regex_search(str, match, expression)) {
int number = std::stoi(match.str());
std::cout << "Found number: " << number << std::endl;
} else {
std::cout << "No number found" << std::endl;
}
```
这两种方法都可以处理整数,如果需要浮点数,可以稍微调整处理方式。
阅读全文