Qt C++ 如何在 1 个命令中砍掉属于 QStringList 成员的 QString 字母

Qt C++ How to chop a letter of QString that is member of a QStringList in 1 command

本文关键字:QStringList 属于 成员 字母 QString C++ 命令 Qt      更新时间:2023-10-16

在我的代码中,我需要删除QString的最后一个空格,它是QStringlist DataColumns的一个元素。

这是我所拥有的:

DataColumns[0] : "Time [ms]      "
DataColumns[1] : "Position [m]"
DataColumns[2] : "End Velocity [m/s]     "

这就是我想要的:

DataColumns[0] : "Time [ms]"
DataColumns[1] : "Position [m]"
DataColumns[2] : "End Velocity [m/s]"

在 i(DataColumn 的元素(和 j(DataColumn 的元素字母(上的循环中,我执行以下操作并且它起作用:

QStringList dataColums;
QString A;
...
A= dataColums[i];
A.chop(1);
dataColums[i] = A;

但是当我尝试将最后 3 行放入 1 个命令中时,它不起作用。

dataColums[i] = dataColums[i].chop(1);

谁能向我解释为什么会这样?谢谢!

函数声明如下

void QString::chop(int n);

也就是说,它具有返回类型void.

所以这个说法

dataColums[i] = dataColums[i].chop(1);

无效。它看起来像

dataColums[i] = void;

要从字符串的两侧删除空格,您可以使用成员函数trimmed

如果你只需要删除空格,你可以使用 QString::trimmed 函数!

或者,您可以使用 QString::truncate 和 QString::lastIndexOf 删除最后一个]之后的所有字符。