QString的以下成员函数可以用于删除某一特定字符:
例如:
QString t = "A\nB\nC";tremove(QChar('\n'), Qt::CaseInsensitive);
// 结果为:t == "ABC"
也可以使用QString的replace成员函数将某一特定字符替换为空字符来实现删除的效果。
关于QString的remove和replace成员函数都有多个重载,适用于不同的入参。
详细说明请参考官方帮助文档:网页链接
QString number() 函数可以将int、float、double等常见数据转换成QString。具体 *** 作如下:首先有些可以直接强制转换,比如float a; int b=(int)a; 强制转换下但可能会造成损失,不能强制转换的可以参照下边内容。
1、int ~~> QString
//即可把a转换成QString
2、float/double ~~> QString
//得到123,第二个参数是转换类型,见下边倒数第二个重构函数,最后一个参数是精确位数。
3、 QString——QByteArray
在UART通讯时传输的数据类型要求时QByteArray,得到的QString或者int等类型需要转换成QByteArray,其实很简单,直接。
其他数据类型想转QByteArray可以先转成QString再转到QByteArray。
很简单直接to就提醒了。
4、16进制——int——QString——float
将格式该为16后得到的就是"ff"16进制的字符串类型。
反过来如果要一个"ff"的16进制字符串转换成10进制整数
参照上图中的QStringtoInt(bool ok=nullptr, base =10)函数,将base该为16即可。如
如果 numtoInt(&ok,10); 这样,返回的则是0!
5、16进制自动补零
在组帧的时候会用到这种 *** 作。让每个数据占用固定的字节。
//k为int型或char型都可,得到的 key 为 000f。
6、保留指定小数位数与科学计数法
这个可以不用正则表达式,如果两边的长度是固定,你可以看下QString的left和right函数
QString r = "017F00000[12:10:51525]0180100000"; rremove(QRegExp("[0-9]{2}(:[0-9]{2}){2}([0-9]{1,3})"));
rremove("[]");你可以这样写,我使用转义也无法匹配[],所有最后再把中括号去掉
可以参考下面的代码:
m_FilePath="/root/desktop
"
intfirst=m_FilePathlastIndexOf("/");
QStringtitle=m_FilePathright(m_FilePathlength()-first-1);
扩展资料:
QString类中函数的作用举例:
字符串连接函数
1、QString也重载的+和+=运算符。这两个运算符可以把两个字符串连接到一起。
2、QString的append()函数则提供了类似的 *** 作,例如:
str="User:";
strappend(userName);
strappend("\n");
QString x = "asdasd\tdsdasd";int a=xindexOf("\t"); //return 6
QString y = xleft(a);
首先是获得到\t的位置,然后获得指定位置的字符串
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)