将字符串中的数字提取,并将提取出的数字组成一个整数的方法,剪短代码C++
时间: 2024-04-12 20:30:11 浏览: 180
在C++中,可以使用以下简洁的代码将字符串中的数字提取并组成一个整数:
```cpp
#include <iostream>
#include <string>
int extractNumber(const std::string& str) {
int result = 0;
for (char c : str) {
if (std::isdigit(c)) {
result = result * 10 + (c - '0');
}
}
return result;
}
int main() {
std::string input = "abc123def456ghi789";
int extractedNumber = extractNumber(input);
std::cout << "Extracted number: " << extractedNumber << std::endl;
return 0;
}
```
在上述代码中,我们定义了一个`extractNumber`函数,它接受一个字符串作为参数。该函数使用一个循环遍历字符串中的每个字符。如果字符是数字,则将其转换为整数并添加到结果中。通过不断乘以10并加上当前数字的值,我们可以将提取出的数字组合成一个整数。最后,函数返回提取到的整数。
在`main`函数中,我们将字符串"abc123def456ghi789"传递给`extractNumber`函数,并打印出提取到的整数。
这个方法简洁而有效,可以提取字符串中的数字并将其组合成一个整数。请注意,这种方法假设字符串中只包含数字和其他非数字字符,如果有其他情况(如负号、小数点、指数符号等),可能需要进行适当的修改。
阅读全文