计算QString参数

时间:2013-02-20 19:37:16

标签: qt qstring

您知道如何在QString中获取可能的参数数量吗?

我想做类似的事情:

int argumentCount = countArguments(QString("This is the %1 argument, this is the %2 one")`);

结果应为argumentCount == 2

1 个答案:

答案 0 :(得分:5)

您可以使用regular expressionsQString::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