您知道如何在QString
中获取可能的参数数量吗?
我想做类似的事情:
int argumentCount = countArguments(QString("This is the %1 argument, this is the %2 one")`);
结果应为argumentCount == 2
。
答案 0 :(得分:5)
您可以使用regular expressions和QString::count
功能:
QString str1("%1%2 test test %3 %4 %555");
int n = str1.count(QRegExp("%\\d+"));//n == 5
<强>更新强> 因为QString的arg数可以在1-99范围内,所以可以使用这个reg-exp:
QString str1("%1%2 test test %3 %4 %555");
int n = str1.count(QRegExp("%\\d{1,2}(?!\\d)"));//n == 4