当我们基于Qt开发项目时,经常会用到QString这个类按照某种格式对字符串进行拼接,拼接完后有时候最后一位是多余的,就需要把最后一位给移除。 以下是不同实现方法: 方法一: 使用QString的left()函数,left()的作用是获取字符串左边n个字符。获取总个数减一个字符就相当于去除了最后一个字符。例:

QString str("hello world,");

QString strTmp = str.left(str.size()-1);

qDebug().noquote() << "strTmp:" << strTmp;

如果字符串是汉字,则删除最后一个完整的汉字。 方法二: 使用QString的chop()函数,chop()的作用就是删除字符串右边n个字符。例:

QString str("hello world,");

QString strTmp = str.chop(1);

qDebug().noquote() << "strTmp:" << strTmp;

调用chop(),会对字符串本身进行删除。 方法三: 使用QString的remove()函数,remove()有好多重载函数,其中一个是移除某下标开始n个字符。例:

QString str("hello world,");

QString strTmp = str.remove(str.size()-1, 1);

qDebug().noquote() << "strTmp:" << strTmp;

从最后一个下标位置开始移除一个字符也能达到目标。remove虽然有返回值,但str自身也发生了改变。

相关阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。