前言:

  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

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的诸多操作】的更多相关文章

  1. paip.c++ qt 目录遍历以及文件操作

    paip.c++ qt 目录遍历以及文件操作 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net/a ...

  2. Qt中与文件目录相关操作

    一.与文件目录操作有关操作. Qt中与文件目录相关的操作在QDir中,需加入#include <QDir>语句. QDir::drives()是列出电脑根目录下的所有目录,返回的是QFil ...

  3. Qt使用QNetworkAccessManager实现Ftp操作

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt使用QNetworkAccessManager实现Ftp操作     本文地址:http: ...

  4. Qt使用QNetworkAccessManager实现Http操作

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt使用QNetworkAccessManager实现Http操作     本文地址:http ...

  5. Qt QString转char[]数组

    Qt QString转char[]数组 QString s1="1234456";char str[20]={0};strcpy(str,s1.toStdString().c_st ...

  6. 4.关于QT中的QFile文件操作,QBuffer,Label上添加QPixmap,QByteArray和QString之间的区别,QTextStream和QDataStream的区别,QT内存映射(

     新建项目13IO 13IO.pro HEADERS += \ MyWidget.h SOURCES += \ MyWidget.cpp QT += gui widgets network CON ...

  7. 4.关于QT中的QFile文件操作,QBuffer,Label上加入QPixmap,QByteArray和QString之间的差别,QTextStream和QDataStream的差别,QT内存映射(

     新建项目13IO 13IO.pro HEADERS += \ MyWidget.h SOURCES += \ MyWidget.cpp QT += gui widgets network CON ...

  8. Qt ------ QString 操作

    QStringList QString::arg     ------- 字符串的格式化处理,类始于sprintf 比如:QString("%1").arg(10,2,16,QLa ...

  9. QT QString 很全的使用 (转)

    QString, QByteArray, 和 QVariant这三个类和容器有许多相同之处,并且在一些情况下可以被当作特殊的容器. 同样,像容器,这些类使用隐式共享来优化内存和速度. 我们将从QStr ...

随机推荐

  1. linux集群实施与部署-----Nginx

    ( 1 ) 配置基本环境 //安装虚拟工具 #cd /media/VMware\ Tools/ #cp VMwareTools--.tar.gz/tmp/ #cd /tmp/ #tar-xvzf VM ...

  2. spark shuffle的写操作之准备工作

    前言 在前三篇文章中,spark 源码分析之十九 -- DAG的生成和Stage的划分 剖析了DAG的构建和Stage的划分,spark 源码分析之二十 -- Stage的提交 剖析了TaskSet任 ...

  3. Unity经典游戏教程之:冒险岛

    版权声明: 本文原创发布于博客园"优梦创客"的博客空间(网址:http://www.cnblogs.com/raymondking123/)以及微信公众号"优梦创客&qu ...

  4. 洛谷P1510 题解

    前言: 其实这道题挺水的,但我居然把ta想成了 贪心 啪啪打脸 好了,废话不多说. 思路: step 1:先翻译以下题意,其实就是求出最多消耗多少体力能把东海填满,如果不能填满,就输出"Im ...

  5. Linux : 性能监测相关命令

    [参考文章]:Linux命令大全 [参考文章]:Linux 运行进程实时监控pidstat命令详解 1. 进程级别的监测命令 1.1  top top命令可以实时动态地查看系统的整体运行情况,是一个综 ...

  6. 用JavaScript带你体验V8引擎解析标识符过程

    上一篇讲了字符串的解析过程,这一篇来讲讲标识符(IDENTIFIER)的解析. 先上知识点,标识符的扫描分为快解析和慢解析,一旦出现Ascii值大于128的字符或者转义字符,会进入慢解析,略微影响性能 ...

  7. Docker笔记(七):常用服务安装——Nginx、MySql、Redis

    开发中经常需要安装一些常用的服务软件,如Nginx.MySql.Redis等,如果按照普通的安装方法,一般都相对比较繁琐 —— 要经过下载软件或源码包,编译安装,配置,启动等步骤,使用 Docker ...

  8. Python基础总结之初步认识---class类的继承(下)。第十五天开始(新手可相互督促

    年薪百万的步伐慢了两天hhhh严格意义是三天.最近买了新的玩具,在家玩玩玩!~~~~ 今天开始正式认识类的继承.类的继承是怎么继承呢?看下代码: class Animal(object): #父类 d ...

  9. RocketMq中网络通信之服务端

    一,Broker服务端入口(NettyServer端) 首先RocketMq网络通信采用的Netty通信.服务端主要集中在Broker中.我们先看一下Broker的启动类BrokerStartup 显 ...

  10. 用命令将本地jar包导入到本地maven仓库

    [**前情提要**]在日常开发过程中,我们总是不可避免的需要依赖某些不在中央仓库,同时也不在本地仓库中的jar包,这是我们就需要使用命令行将需要导入本地仓库中的jar包导入本地仓库,使得项目依赖本地仓 ...