当我们基于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编程中,经常需要对QString对象进行操作,例如移除字符串的最后一个字符。本文介绍了三种方法:1)使用left()函数获取去掉最后一个字符的子串;2)利用chop()函数直接删除字符串末尾的一个字符;3)使用remove()函数从指定位置移除一个字符。这些方法各有特点,可以根据需求选择合适的方式。

3824

被折叠的 条评论
为什么被折叠?



