怎么在字符串中将数字剥离出来
时间: 2024-04-10 16:34:50 浏览: 17
要将字符串中的数字剥离出来,可以使用以下方法:
1. 使用isdigit函数:遍历字符串中的每个字符,使用isdigit函数来判断是否为数字字符,如果是数字字符,则添加到一个新的字符串或容器中。
```cpp
std::string extractDigits(const std::string& str) {
std::string digits;
for (char c : str) {
if (std::isdigit(c)) {
digits += c;
}
}
return digits;
}
```
2. 使用isalnum函数:遍历字符串中的每个字符,使用isalnum函数来判断是否为字母或数字字符,如果是数字字符,则添加到一个新的字符串或容器中。
```cpp
std::string extractDigits(const std::string& str) {
std::string digits;
for (char c : str) {
if (std::isalnum(c)) {
if (std::isdigit(c)) {
digits += c;
}
}
}
return digits;
}
```
3. 使用正则表达式:使用正则表达式匹配字符串中的数字部分,并提取出来。
```cpp
#include <regex>
#include <string>
std::string extractDigits(const std::string& str) {
std::regex regex("\\d+"); // 匹配一个或多个数字
std::smatch match;
std::string digits;
// 使用迭代器遍历所有匹配到的数字
for (std::sregex_iterator it(str.begin(), str.end(), regex), end; it != end; ++it) {
digits += it->str();
}
return digits;
}
```
以上是三种常见的方法来将字符串中的数字剥离出来。您可以根据实际需求选择其中一种方法来实现。