在我的代码中,我需要删除作为QStringlist DataColumns元素的QString的最后一个空格。
这就是我所拥有的:
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
。