c++提取string中数字
时间: 2023-08-04 22:18:02 浏览: 491
你可以使用 `std::isdigit` 函数和 `std::stringstream` 类来实现提取字符串中的数字。具体步骤如下:
1. 遍历字符串,将数字字符逐一提取出来,存放在一个字符串中。
2. 将提取出来的字符串转化为数字类型。
以下是示例代码:
```c++
#include <iostream>
#include <string>
#include <sstream>
#include <cctype>
int main()
{
std::string input = "abc123def456gh7"; // 待提取的字符串
std::string numbers; // 存放提取出来的数字字符
for (char c : input) {
if (std::isdigit(c)) {
numbers += c;
}
}
int num;
std::stringstream ss(numbers); // 将字符串转化为stringstream对象
while (ss >> num) {
std::cout << num << std::endl;
}
return 0;
}
```
在上面的示例代码中,我们首先遍历输入字符串,将数字字符逐一提取出来存放在 `numbers` 字符串中。然后我们使用 `std::stringstream` 类将 `numbers` 字符串转化为一个 `stringstream` 对象,以便后续可以使用 `>>` 运算符将其转化为数字类型。最后,我们使用一个循环将所有提取出来的数字打印输出。
阅读全文