c++ - QString从列表中解析项目

标签 c++ string qt

我有一个QString格式如下:"Test %1 and test %2"
我有一个单独的QVariantList变量。现在,我想创建一个新的QString并按列表顺序解析所有%项以及QVariantList中的项。在Qt中,有没有什么方法可以使用QString对象呢?

我希望不必手动递归地执行单个arg()调用,因为那样效率很低。

编辑:例如:
我的QVariantList包含2个项目:10(整数)和3.14( double )。结束字符串应如下所示:
"Test %1 and test %2"变为"Test 10 and test 3.14"
手工将这样完成:

QString str = "Test %1 and test %2";
QVariantList vl { 10, 3.14 };
QString newStr = QString(str).arg(vl[0].toString()).arg(vl[1].toString());

最佳答案

我将通过以下方式解决此问题:

QString str = "Test %1 and test %2";
QVariantList vl{ 10, 3.14 };

QString newStr = str;
// Assume that the QVariantList's size corresponds to the number of placeholder.
for (const auto &v : vl) {
    newStr = newStr.arg(v.toString());
}

关于c++ - QString从列表中解析项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60544248/

相关文章:

qt - 如何为项目QtCreator创建子目录?

C++(函数、余弦)没有给出正确答案

c++ - 如果我们不等待就发出信号量会发生什么?

c++ - 通过继承实现 AVL 树

c++ - 如何将运行参数添加到 Netbeans 中的 C++ 项目

c - 在 C 中使用 fputs 写入文件

python 在没有正则表达式的情况下在多个分隔符上拆分字符串

php - 如何将文件路径转换为不同的部分?

qt - 如何使 QLineEdit 在 QScrollArea 内展开

javascript - QGraphicsWebView : create a text file using Javascript