我已经看到了关于同一问题的一个答案,但是当我尝试解决我的问题时,就会感到困惑。

这是我的绳子,

bit_rate = "bitrate: 2334 kb/s"

我需要从该字符串中获取2334并将其分配给一个整数变量。
在Qt Creator中这怎么可能我尝试了toInt(),但它总是给出0作为答案。

最佳答案

您需要摆脱bitrate:前缀和kb/s后缀。最好的方法是使用QRegExpQRegularExpression提取字符串的数字部分,然后调用toInt()

例子如下:

QString str = "bitrate: 3543 kb/s";
int value;

QRegExp re("bitrate:\\s*(\\d+)\\s*.*");
if (re.indexIn(str) != -1) {
    value = re.cap(1).toInt();
} else {
    qDebug() << "String not matched.";
    return;
}
qDebug() << value;

08-26 17:02