1

で可能な引数の数を取得する方法を知っています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 の引数番号は 1 ~ 99 の範囲にある可能性があるため、この正規表現を使用できます。

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 に答える