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自身也发生了改变。
下一篇:
用javascript写一个烟花