Jep*_*sen 5 c++ qstring qt pattern-matching
例如,我有一个 QString,里面有一些数字
first_34.33string
second-23.4string // In this case number is negative
Run Code Online (Sandbox Code Playgroud)
如何从字符串中提取数字?
编辑:
这个函数似乎可以工作,在回复中使用正则表达式:
float getNumberFromQString(const QString &xString)
{
QRegExp xRegExp("(-?\\d+(?:[\\.,]\\d+(?:e\\d+)?)?)");
xRegExp.indexIn(xString);
QStringList xList = xRegExp.capturedTexts();
if (true == xList.empty())
{
return 0.0;
}
return xList.begin()->toFloat();
}
Run Code Online (Sandbox Code Playgroud)