我已经看到了关于同一问题的一个答案,但是当我尝试解决我的问题时,就会感到困惑。
这是我的绳子,
bit_rate = "bitrate: 2334 kb/s"
我需要从该字符串中获取
2334
并将其分配给一个整数变量。在Qt Creator中这怎么可能我尝试了
toInt()
,但它总是给出0
作为答案。 最佳答案
您需要摆脱bitrate:
前缀和kb/s
后缀。最好的方法是使用QRegExp
或QRegularExpression
提取字符串的数字部分,然后调用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;