誰もが大好き
QString("Put something here %1 and here %2")
.arg(replacement1)
.arg(replacement2);
replacement1
しかし、実際に含まれている、%1
または%2
どこにでもあるわずかな可能性があるとすぐに、物事はかゆくなります。次に、2 番目QString::arg()
は、再導入されたもののみ、%1
または両方の%2
オカレンスを置き換えます。とにかく、"%1"
おそらく意図したリテラルを取得できません。
これを克服するための標準的なトリックはありますか?
遊ぶための例が必要な場合は、これを取ってください
#include <QCoreApplication>
#include <QDebug>
int main()
{
qDebug() << QString("%1-%2").arg("%1").arg("foo");
return 0;
}
これは出力されます
"foo-%2"
それ以外の
"%1-foo"
予想どおりです(そうではありません)。
qDebug() << QString("%1-%2").arg("%2").arg("foo");
与える
"foo-foo"
と
qDebug() << QString("%1-%2").arg("%3").arg("foo");
与える
"%3-foo"