【发布时间】:2021-05-19 07:41:42
【问题描述】:
我有以下问题: 我在 QString 中保存了一个 XMLStart。
QString f = "<class=\"go\">\n"
"<number>2</number>\n"
"<column>3</column>\n"
"<row>4</row>";
我想通过例如使用替换或类似的方法来更改此字符串中包含 7 的行的值。
f.replace();
我怎样才能做到这一点?这可能吗?
问候
【问题讨论】:
-
这可能吗?我希望答案是肯定的。
-
这取决于您想要达到的目标。
f.replace("<row>4</column>", "<row>7</row>");应该按照您对这种特殊情况的要求进行操作。但是一旦值发生变化,代码就变得毫无用处。 -
如果它总是第 7 行,可能会有不同的方法。使用
QString::split('\n');转换为QStringList 然后处理QStringList 的第七项然后QStringlist::join('\n');这可能不是性能最高的代码,但如果你不需要做一千次它可能就足够了。您还可以在循环中使用 `QString::indexOf('\n',pos)' 来查找第 7 行和第 8 行索引并在两者之间进行替换。 -
你的 xml 是否总是具有相同的结构?
-
这是错字吗?
4
还是文件坏了?