1

您知道如何计算 a 中可能参数的数量QString吗?

我想做类似的事情:

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

结果应该在哪里argumentCount == 2

4

1 回答 1

5

您可以使用正则表达式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
于 2013-02-20T19:59:47.720 回答