QT 从string类的“x/y”提取数字x和y
时间: 2024-09-30 11:15:15 浏览: 25
在Qt中,如果你有一个字符串"x/y"并且需要从中提取数字"x"和"y",你可以使用正则表达式和`QRegularExpression`类来完成这个任务。首先,你需要包含所需的头文件:
```cpp
#include <QRegularExpression>
#include <QString>
```
然后,可以编写一个函数来解析字符串:
```cpp
QString extractNumbers(const QString& inputString) {
QRegularExpression regex("\\d+/(\\d+)");
QRegularExpressionMatch match = regex.match(inputString);
if (match.hasMatch()) {
QString x = match.captured(1); // 提取第一个括号内的数字,即"x"
QString y = match.captured(2); // 提取第二个括号内的数字,即"y"
return "x: " + x + ", y: " + y;
} else {
return "无法提取数字,字符串格式错误";
}
}
```
在这个例子中,`regex("\\d+/(\\d+)")`定义了一个正则表达式,它匹配任何形如"任意数字/任意数字"的模式。`match.captured(n)`返回第n个括号中的捕获组内容。
如果你想在实际应用中使用这些值,你可以直接从`extractNumbers`返回的结果中获取`x`和`y`,或者根据需要进一步处理它们。
阅读全文