【发布时间】:2015-08-05 13:09:27
【问题描述】:
假设我有一个这样的字符串:
QString str = "23+34-343+$T$-3+$OPC$";
我想替换每个由两个 $ 括起来的部分将替换为 %0、%1 等等。 所以上面的例子是:“23+34-343+%0-3+%1”
我可以使用 QRegularExpression 和以下模式检测这些部分:“\$.+?\$”
用 %0、%1、%2 等替换这些部分的最佳和最优化方法是什么(不使用循环和索引)。
【问题讨论】:
-
请注意,我不能使用 QString::replace,因为要替换为 $x$ 的字符串不是常量。
-
您可以使用
QStringList list = str.split(QRegExp("\\$[^$]+\\$"));拆分字符串,然后循环遍历项目并将它们与递增的数字连接起来。 -
你也可以使用
QString::section()