0

Qt で文字列の部分文字列を取得する必要がありますが、詳細がいくつかあります。

  • 必要な部分文字列は と で区切られ[ています]
  • 部分文字列には、、、など/の予測できない文字が含まれている可能性があります。この部分文字列は、基本的に測定単位を表します。^-

また、部分文字列自体を取得する以外に、そのような部分文字列が文字列に存在するかどうかを確認するテストが必要です。

私はRegExについて何も知りませんし、Qtも初めてです。ここで見つけた例のほとんどは、Qt に報告されていないか、必要なものを明示的に説明していません。

4

1 に答える 1

2
QRegExp exp("\\[([^\\]]+)\\]");
QString s1 = "5 [sm^2]";
qDebug() << exp.indexIn(s1);
qDebug() << exp.capturedTexts();

出力:

2 
("[sm^2]", "sm^2") 

文字列のどの部分も正規表現に一致しない場合、indexIn-1 を返すことでそれを示します。それ以外の場合、結果は >= 0 になり、capturedTexts()[1]括弧で囲まれたテキストが含まれます。

于 2013-06-11T09:49:30.990 に答える