Qt的QString类提供了很方便的对字符串操作的接口。

  1. 使某个字符填满字符串,也就是说字符串里的所有字符都有等长度的ch来代替。
QString::fill ( QChar ch, int size = -1 )

例:

     QString str = "Berlin";str.fill('z');// str == "zzzzzz"
str.fill('A', 2);// str == "AA"

2,从字符串里查找相同的某个字符串str。

int QString::indexOf ( const QString & str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive ) const

例如:

QString x = "sticky question";QString y = "sti";x.indexOf(y);               // returns 0x.indexOf(y, 1);            // returns 10x.indexOf(y, 10);           // returns 10x.indexOf(y, 11);           // returns -1

3指定位置插入字符串

QString & QString::insert ( int position, const QString & str )

例如:

     QString str = "Meal";str.insert(1, QString("ontr"));// str == "Montreal"

3,判断字符串是否为空。

bool QString::isEmpty () const

如:

     QString().isEmpty();            // returns trueQString("").isEmpty();          // returns trueQString("x").isEmpty();         // returns falseQString("abc").isEmpty();       // returns false

4.判断字符串是否存在。

bool QString::isNull () const

例如:

     QString().isNull();             // returns trueQString("").isNull();           // returns falseQString("abc").isNull();        // returns false

5,从左向右截取字符串

QString QString::left ( int n ) const

例如:

     QString x = "Pineapple";QString y = x.left(4);      // y == "Pine"

6,从中间截取字符串。

QString QString::mid ( int position, int n = -1 ) const

例如:

  QString x = "Nine pineapples";QString y = x.mid(5, 4);            // y == "pine"QString z = x.mid(5);               // z == "pineapples"

7,删除字符串中间某个字符。

QString & QString::remove ( int position, int n )

例如:

     QString s = "Montreal";s.remove(1, 4);// s == "Meal"

8,替换字符串中的某些字符。

QString & QString::replace ( int position, int n, const QString & after )

例如:

     QString x = "Say yes!";QString y = "no";x.replace(4, 3, y);// x == "Say no!"

9,以某个字符切割字符串。(最近经常用到的)

QString QString::section ( QChar sep, int start, int end = -1, SectionFlags flags = SectionDefault ) const

例如:

   QString str;QString csv = "forename,middlename,surname,phone";QString path = "/usr/local/bin/myapp"; // First field is emptyQString::SectionFlag flag = QString::SectionSkipEmpty;str = csv.section(',', 2, 2);   // str == "surname"str = path.section('/', 3, 4);  // str == "bin/myapp"str = path.section('/', 3, 3, flag); // str == "myapp"
测试代码:
#include <QCoreApplication>
#include <QDebug>
class QString;
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    /*
    QString str = "Berlin";
    str.fill('z');
    // str == "zzzzzz"
    QByteArray ba = str.toLatin1();
    char *mm = ba.data();
    qDebug()<<mm<<endl;
    str.fill('A', 2);
    // str == "AA"
    ba = str.toLatin1();
    mm = ba.data();
    qDebug()<<mm<<endl;
    qDebug()<<"endl";
    */
    /*
    QString x = "sticky question";
    QString y = "sti";
    qDebug()<<x.indexOf(y)<<endl;               // returns 0
    qDebug()<<x.indexOf(y, 1)<<endl;            // returns 10
    qDebug()<<x.indexOf(y, 10)<<endl;           // returns 10
    qDebug()<<x.indexOf(y, 11)<<endl;           // returns -1
    */
    /*
    QString str = "Meal";
    str.insert(1, QString("ontr"));
    // str == "Montreal"
    qDebug()<<str<<endl;
    */
    /*
    qDebug()<<QString().isEmpty();            // returns true
    qDebug()<<QString("").isEmpty();          // returns true
    qDebug()<<QString("x").isEmpty();         // returns false
    qDebug()<<QString("abc").isEmpty();       // returns false
    */
    /*
    qDebug()<<QString().isNull();             // returns true
    qDebug()<<QString("").isNull();           // returns false
    qDebug()<<QString("abc").isNull();        // returns false
    */
    /*
    QString x = "Pineapple";
    QString y = x.left(4);      // y == "Pine"
    qDebug()<<x;
    qDebug()<<y;
    */
    /*
    QString x = "Nine pineapples";
    QString y = x.mid(5, 4);            // y == "pine"
    QString z = x.mid(5);               // z == "pineapples"
    qDebug()<<x;
    qDebug()<<y;
    qDebug()<<z;
    */
    /*
    QString s = "Montreal";
    s.remove(1, 4);
    // s == "Meal"
    qDebug()<<s;
    */
    /*
    QString x = "Say yes!";
    QString y = "no";
    x.replace(4, 3, y);
    // x == "Say no!"
    qDebug()<<x;
    qDebug()<<y;
    */
    QString str0;
    QString str1;
    QString str2;
    QString csv = "forename,middlename,surname,phone";
    QString path = "/usr/local/bin/myapp"; // First field is empty
    QString::SectionFlag flag = QString::SectionSkipEmpty;
    str0 = csv.section(',', 2, 2);   // str == "surname"
    str1 = path.section('/', 3, 4);  // str == "bin/myapp"
    str2 = path.section('/', 3, 3, flag); // str == "myapp"
    qDebug()<<str0;
    qDebug()<<str1;
    qDebug()<<str2;
    return a.exec();
}

10,把整型,浮点型,或其他类型转化为QString

QString & QString::setNum ( uint n, int base = 10 )

相类似的还有好多重载函数,想深入了解,还是要看Qt帮助文档的。

Qt 的QString类的使用相关推荐

  1. QT的QString类的使用

    详细说明 QString类提供Unicode字符串. QString存储一串16位QChars,其中每个QChar对应一个UTF-16代码单元. (代码值大于65535的Unicode字符使用代理对, ...

  2. Qt 之QString

    Qt的QString类提供了很方便的对字符串操作的接口. 使某个字符填满字符串,也就是说字符串里的所有字符都有等长度的ch来代替. QString::fill ( QChar ch, int size ...

  3. QT学习笔记(十一):QString类

    QT学习笔记(十一):QString类 1.概述 2.编辑操作 3.查询操作 3.转换操作 1.概述 1.1 QString 类是 Qt 中用于表示字符串的类,实现在 QtCore 共享库中.QStr ...

  4. QT中QString的所有类用法大全

    前言 之前用到QT中QString的用法,但总是忘记,这次自己整理出来,自己想用可以随时查看,同时也可以帮助到大家. 文章目录 前言 一.QString与其他变量的转换 1.QString::numb ...

  5. Qt中 QString 和int,double等的转换

    Qt中 int ,float ,double转换为QString 有两种方法 1.使用 QString::number(); 如: long a = 63; QString s = QString:: ...

  6. QT的QByteArray 类的使用

    详细说明 QByteArray类提供字节数组. QByteArray可用于存储原始字节(包括'\ 0')和传统的8位'\ 0'终止的字符串.使用QByteArray比使用const char *更方便 ...

  7. QT(1)- QString

    QT(1)- QString 1 简介 在Qt中表示字符串的类是QString类,它存储字符串是采用的Unicode码,编码方式是使用UTF-16来进行编码的,也就是一个字符(两个字节),一个中文汉字 ...

  8. qt之QSqlQuery类执行SQL语句

    转载自:https://wizardforcel.gitbooks.io/qt-beginning/content/28.html 导语 SQL即结构化查询语言,是关系数据库的标准语言.前面两节中已经 ...

  9. Qt之QImage类

    文章目录 QT--QImage类 QImage获取图像的数据信息 QImage图像格式转换 由RGB格式转换为BGR格式 将彩色图转换为灰度图 图像保存 QImage图像显示在QLabel上 QPix ...

最新文章

  1. android自定义差值器,如何创建自定义插值器以在android中应用翻译动画
  2. 在studio中使用libsdl2.so,编译SDL Demo
  3. 解决vc2008 utf8中文字符串报错 C2001常量中有换行符
  4. C# webrequest 抓取数据时,多个域Cookie的问题
  5. Python网页分析,分析网站的日志数据
  6. CSS(九)元素隐藏和利弊
  7. 5201314用计算机怎么打出来,计算器算出5201314抖音
  8. python混合线性模型_如何在Python statsmodels中有多组线性混合效应模型?
  9. dorado 7 数据库配置
  10. 告别晦涩难懂的物理,《张朝阳的物理课》了解一下
  11. astc纹理压缩格式
  12. 遇见未来 | 对话叶毓睿:人类文明运行在软件之上(上篇)
  13. cmd命令与dos指令
  14. 随机打乱数据的几种方式
  15. python--文件的导入与导出
  16. oa系统服务器什么意思,OA系统是什么意思
  17. OnePlus一加手机:测试
  18. JavaScript 实现音乐播放器
  19. linux图像显示(五)使用freetype处理矢量字体
  20. 线程之插队(join方法)

热门文章

  1. Gogland IDE Run/Debug Configurations 配置说明
  2. @FunctionalInterface
  3. 22.类对象和类指针
  4. Android --- 当 item 的数量增加时,ListView 并不能根据所有 item 一共的数量来撑开布局
  5. amazon mws api 获取所有产品_致跨境电商新卖家 - 如何确定一个产品的市场容量?...
  6. python socket发送组播数据_Python socket 如何实现广播单播切换
  7. ML:MLOps系列讲解之《CRISP-ML (Q)ML生命周期过程—了解机器学习开发的标准过程模型—业务和数据理解→数据工程(数据准备)→ML模型工程→评估ML模型→模型部署→模型监控和维护》解读
  8. Python之selenium:selenium库的简介、安装、使用方法之详细攻略
  9. Python之gmplot:gmplot库的简介、安装、使用方法之详细攻略
  10. CV之detectron2:detectron2的简介、安装、使用方法之详细攻略