QString字符串如何移除最后一位

当我们基于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自身也发生了改变。

你可能感兴趣的:(Qt记录,Qt编程,qt,开发语言,c++)