2013-02-20 3 views
1

QString에 가능한 인수의 수를 얻는 방법을 알고 계십니까? 결과가 argumentCount == 2해야QString 인수를 계산하십시오.

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

:

내가 좋아하는 일을하고 싶습니다.

답변

4

당신은 사용할 수 있습니다 regular expressionsQString::count 기능 :

QString str1("%1%2 test test %3 %4 %555"); 
int n = str1.count(QRegExp("%\\d+"));//n == 5 

업데이트 : QString의 인수 번호는 1-99 범위 일 수있다 때문에이 REG-특급 사용할 수 있습니다 :

QString str1("%1%2 test test %3 %4 %555"); 
int n = str1.count(QRegExp("%\\d{1,2}(?!\\d)"));//n == 4 
+0

와우 . 나는 그들에 대해 더 많이 알 필요가있다. * 시야 * 마지막 질문 하나는 ... QString :: arg()의 인수 범위는 % 1-99이다; 그렇게하는 방법? – Zaiborg

+0

답을 업데이트했습니다. – saeed

+0

덕분에 친구가되어 훨씬 쉬워졌습니다. D – Zaiborg