【qt】【QString的诸多操作】

摘要:
下面博主就将常用的罗列出来,一起分享。可以直接2个字符串用"+"连接即可。QStringstr1=“hello”;QStringstr2=“world”;QStringstr=str1+str2;//helloworld;2.查找字符串:indexOfindexOf();查找到字串返回字串第一次出现的下标,否则返回-1;QStringstr=“helloworld”;intstrNum=str.indexOf;//53.删除字符串:remove将指定字符串从父母串中删除;QStringstr="helloword";QStringstr2=str.remove;//hellrd4.字符串提取:mid4.1.提取指定位置的n个字符串。

前言:

qt的数据处理莫过于QString,QString对于字符串的操作多的数不胜数。下面博主就将常用的罗列出来,一起分享。

正文:

下面的操作具体为:追加,查找,删除,提取,分割,各种转换等等。

0.字符串长度:length

QString str = "hello world";

int strNum = str.length();//11

1.追加字符串:+

QString的追加字符串比较简单。可以直接2个字符串用"+"连接即可。

QString str1 = “hello”;

QString str2 = “world”;

QString str = str1 + str2;// helloworld;

2.查找字符串:indexOf

indexOf();查找到字串返回字串第一次出现的下标,否则返回-1;

QString str = “helloworld”;

int strNum = str.indexOf("wor");//5

3.删除字符串:remove

将指定字符串从父母串中删除;

QString str = "hello word";

QString str2 = str.remove("o wo");//hellrd

4.字符串提取:mid

4.1.提取指定位置的n个字符串。

QString str = ”hello word“;

QString str2 = str.mid(1,3);//ell

4.2.提取指定位置到末尾的字符串。

QString str = "hello world";

QString str2 = str.mid("2");//llo world

4.3.提取开头到指定位置的字符串。

QString str = "hello world";

QString str2 = str.left(3);//hell

4.4.提取指定位置到末尾的字符串。

QString str = "hello world";

QString str2 = str.right(3);//lo world

5.分割字符串:section

将字符串依照某个字符分割成若干快,进行提取。

QString str = "1,2,3,4,5,6";

QString str2 = str.section(",", 1,1).trimmed();//2,,第二个参数是起始分隔符,第三个参数是到第几个分割符。

6.字符串转数字:toInt

QString str = "111";

int a = 1 + str.toInt();//112

7.字符串换数组:QByteArray

QByteArray byteArray = QString.toLatin1(); // 这种方法遇到中文会变成????。
QByteArray byteArray = QString.toStdString().data(); //这种方法有可能会给不到数组大小,需要先求大小再循环。

8.字符串转bool:

bool testParam;
QString tempParam = QString::number(testParam);
//上面是bool 转QString;
QVariant tempValue = tempParam;
bool tempFinished = tempValue.toBool();
//这样就把QString 类型的转换回去了。

9.qint8转QString:

qint8 a = 9;

QString b=tr("%1").arg(a);

10.Qstring到string的转化

//从QString 到 std::string

str = qstr.toStdString();

//从std::string 到QString

qstr = QString::fromStdString(str);

11.unsigned char 转化QString:  

unsigned char buf[]="<ocs><header t="login" c="1" i="-1" /><body><u>";

string bufs = (char*)buf;

QString bufq = QString::fromStdString(bufs);

ui->lineEdit->setText(bufq);

12.QString 转char*

QString ss = "<ocs><header t="login" c="1" i="-1" /><body><u><ocs><header t="login" c="1" i="-1" /><body><u><ocs><header t="login" c="1" i="-1" /><body><u>";

char* cc = ss.toUtf8().data();

int len = ss.size();

cout << len<< endl;

for(int i=0; i<len; i++) {

cout << cc[i];

}

13.过滤末尾和开头的空白字符串:trimmed

QString str(" abc def ghi ");

str = str.trimmed();//str = "abc def ghi"

14.字符串大小写切换:toUpper

QString s = "Hello World";

  QString ss = s.toUpper();//HELLO WORLD

QString s = "Hello World";

  QString ss = s.toLower();//hello world

15.判读字符串的开头和结尾:

QString s = "http:www.baidu.com";

bool i = s.startsWith("http:");//true

QString str = "http:www.baidu.com";

bool i = str.endsWith("com");//true

16.判断子串出现的次数:

QString str = "Hello World";

QString str2 = str.count("l");// 输出3

后记:

好多,好多。。以后遇到还会补充到评论区,也欢迎大家评论区补充哦。

免责声明:文章转载自《【qt】【QString的诸多操作】》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Chrome/Edge浏览器截图方法,网页截全屏HIDL 概要下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Qt编写地图综合应用12-路线查询

一、前言 路线查询的功能只有在线地图才有,因为这个路线规划需要经常更新的,这个数据同步需要大量的人力物力去统计,所以这玩意必须放在服务器端,就算是类似于手机端一样的放在本地离线,也需要隔一段时间更新的,不然数据很可能不正确。路线查询也叫出行规划,基本上分成两大类,一种是开车的一种是不开车的,其中开车的又有多种策略供选择比如最少时间、最短距离、避开高速等,不...

QT QString类型转换为const char*(toLatin1)

Qstring str = "helloworld"; char *s; QByteArray ba = str.toLatin1(); s = ba.data(); toLatin1、toLocal8Bit都是QString转QByteArray的方法,Latin1代表ASCII,Local8Bit代表unicode。 const char* -- 指...

QJsonObject与QString转化封装

经常使用QT的同学可能会发现有时候需要json字符串和json对象之间的转换,今天他来了,直接上代码: QString InfoBase::JsonToString(const QJsonObject& json) const { return QString(QJsonDocument(json).toJson(QJsonDocume...

qt 总结

总结(-) 1> 定时器的使用 QTimer*timer=newQTimer(this); connect(timer,SIGNAL(timeout()),this,SLOT(update())); // 设置定时器回调函数 timer->start(1000); // 启动定时器 2> 得到系统当前时间 QTimetime=QT...

qt 中lineEdit-&amp;gt;setText()输出double

在qt中需要将获取到的double 值在ui界面上显示出来,便于观察。但是lineEdit控件的setText()要求的参数是string。 所以我们先要进行转化,将double 转化为string. QString QString::number ( double n, char format = 'g', int precision = 6 ) [st...

Python基础知识

作者:地球的外星人君链接:https://www.zhihu.com/question/20336475/answer/197317130来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1 算法 1.1 字符串 1.1.1 正则表达式 re 【标准库】 提供基于正则的匹配和替换。 1.1.2 字符集 chardet Home...