在qt C++中如何从字符串 'djakl-aaa-dfhjk32-784576-dfhj' 中提取出所有的纯数字子串?
时间: 2024-12-18 08:31:57 浏览: 3
PTA 7-29 删除字符串中的子串
在Qt C++中,你可以使用`std::string`类的方法以及正则表达式来提取纯数字子串。首先,你需要包含`<regex>`库以使用正则表达式。
```cpp
#include <iostream>
#include <regex>
#include <string>
int main() {
std::string str = "djakl-784576-dfhj";
std::regex regex("\\d+"); // 正则表达式匹配一个或多个数字
std::smatch match;
std::sregex_iterator it(str.begin(), str.end(), regex), end;
for (; it != end; ++it) {
std::cout << "Found number: " << (*it)[0] << std::endl;
}
return 0;
}
```
这段代码定义了一个正则表达式`\d+`,它会匹配连续的数字字符。然后,我们使用`sregex_iterator`遍历字符串中所有匹配这个模式的部分,并打印出来。
阅读全文