一、拼接字符串

拼接字符串有两种方法: +=  、  append

QString s;
s = "hello";
s = s + " ";
s += "world";
qDebug() << s; // "hello world"
QString s1 = "hello" ;
QString s2 = "world" ; s1.append(" ");
s1.append(s2);
qDebug() << s1; // "hello world"

二、格式化字符串

格式化字符串的使用方法和Python的差不多,都是比较简单的,也是有两种方法: sprintf()     、  arg()

QString s1, s2;
s1.sprintf("%s", "hello");
s2.sprintf("%s %s", "hello", "world"); qDebug() << s1; // "hello"
qDebug() << s2; // "hello world"
QString s1;
s1 = QString("My name is %1, age %2").arg("zhangsan").arg(18); qDebug() << s1; // "My name is zhangsan, age 18"

三、编辑字符串

处理字符串的方法有种:

insert() 在原字符串特定位置插入另一个字符串

QString s = "hello";
s.insert(0, "aa"); qDebug() << s; // "aahello"
prepend() 在原字符串开头位置插入另一个字符串
QString s = "hello";
s.prepend("abc_"); qDebug() << s; // "abc_hello"
replace() 用指定的字符串替代原字符串中的某些字符
QString s = "hello";
s.replace(0, 3, "a"); // 0-3的字符替换成a qDebug() << s; // "alo"
trimmed() simplified() 移除字符串两端的空白字符
QString s = "   hello";
s = s.trimmed(); qDebug() << s; // "hello"

四、判断

startsWith() 判断字符串是否以某个字符开头
endsWith() 判断字符串是否以某个字符结尾
QString s = "hello";

// true,大小写不敏感
qDebug() << s.startsWith("H", Qt::CaseInsensitive); // true,大小写敏感
qDebug() << s.startsWith("h", Qt::CaseSensitive);
isNull() isEmpty() 字符串判空
qDebug() << QString().isNull();     // true
qDebug() << QString().isEmpty(); // true
qDebug() << QString("").isNull(); // false
qDebug() << QString("").isEmpty(); // true

五、字符串间比较

operator<(const QString&)  // 字符串小于另一个字符串,true
operator<=(const QString&) // 字符串小于等于另一个字符串,true
operator==(const QString&) // 两个字符串相等,true
operator>=(const QString&) // 字符串大于等于另一个字符串,true // 比较两个字符串,返回数字
localeAwareCompare(const QString&, const QStriing&) // 加入了大小写是否敏感参数,返回数字
compare(const QString&, const QString&, Qt::CaseSensitivity)

六、字符串格式转换

toInt()   // 转整形
toDouble() // 转双进度浮点数
toFloat() // 转单精度浮点数
toLong() // 转长整型
toLongLong() // 转长长整形 toAscii() // 返回一个ASCII编码的8位字符串
toLatin1() // 返回一个Latin-1(ISO8859-1)编码的8位字符串
toUtf8() // 返回一个UTF8编码的8位字符串
toLocal8Bit() // 返回一个系统本地编码的8位字符串

Qt数据结构-QString一:常用方法的更多相关文章

  1. Qt 的QString类的使用

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

  2. QT之QString的arg方法

    转载.标记一下,总结的很好 转自 http://www.cnblogs.com/lomper/p/4135387.html 在QT的QString中,arg方法类似于C中的printf中使用的格式输出 ...

  3. Qt的QString转换问题

    之前是写C#的,涉及类型转换要么是强转,类似(String)这样,要么是用Converter提供的转换方法,但是今天开发qt界面的时候,使用(QString)强转int类型的时候出现了乱码: 后来研究 ...

  4. QT数据结构内存分配策略

    在QT的Reference中无意看到了QString及其他类型数据结构内存的分配策略,翻译并记录一下. 在QString的数据结构中,QString通过一次附加一个字符来动态构建字符串.假设我们向QS ...

  5. Qt中 QString 和int, char等的“相互”转换

    转载:http://blog.csdn.net/ei__nino/article/details/7297791 Qt中 int ,float ,double转换为QString 有两种方法 1.使用 ...

  6. Qt中 QString 和int, char等的“相互”转换,关键是QString.toLocal8Bit().data();

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

  7. Qt 中QString 字符串操作:连接、组合、替换、去掉空白字符

    Qt中的字符串类 QString类 保存了16位Unicode值,提供了丰富的操作.查询和转换等函数. QString 字符串有如下几个操作符: (1) "+" 用于组合两个字符串 ...

  8. Qt下 QString转char*

    Qt下面,字符串都用QString,确实给开发者提供了方便.Qt再使用第三方开源库时,由于库的类型基本上都是标准的类型,字符串遇的多的就是Char*类型 Qt再使用第三方开源库时,由于库的类型基本上都 ...

  9. QT中QString 与 int float double 等类型的相互转换

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

  10. Qt中QString、QByteArray、int、double之间转换

    最近写Qt中的tcp网络编程,Socke连接后,接受到的数据类型是字节型,这就涉及到了大量的类型转换,在网上辗转几辄,总算有了点结果,特此跟大家分享.好了,不废话,下面细说. 方法/步骤     1. ...

随机推荐

  1. SpringBoot Starter大全

    spring Boot应用启动器基本的一共有44种,具体如下 1)spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置.日志和YAML. 2)spring-b ...

  2. 【Azure 应用服务】在App Service 中如何通过Managed Identity获取访问Azure资源的Token呢? 如Key Vault

    问题描述 当App Service启用了Managed Identity后,Azure中的资源就可以使用此Identity访问. 如果需要显示的获取这个Token,如何实现呢? 问题解答 在App S ...

  3. K6 在 Nebula Graph 上的压测实践

    背景 对于数据库来说,性能测试是一个非常频繁的事情.优化查询引擎的规则,调整存储引擎的参数等,都需要通过性能测试,查看系统在不同场景下的影响. 即便是同样的代码,同样的参数配置,在不同的机器资源配置, ...

  4. 在winform中如何嵌入第三方软件窗体✨

    相关win32api的学习 SetParent [DllImport("user32.dll ", EntryPoint = "SetParent")] pri ...

  5. ASP.NET Core 移除已注册的过滤器

    背景 ABP vNext 默认对异常响应进行了处理,现在某个项目需要自定义异常响应结果. 问题 在 ABP vNext 的 MVC 模块当中,可以看到是通过 AddService(typeof(Abp ...

  6. debian在使用Thunderbird时英文改为中文

    sudo apt-get install thunder* 随后重启应用!

  7. mybatis-plus详细使用教程

    mybatis-plus使用教程 欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章http://www.javaman.cn/jszw/mybatis-plus 什么是Mybati ...

  8. 访问Webapp目录下面的html文件变为代码

    一.问题由来 一位朋友在学习使用Servlet做练习的时候,突然出现一个问题,他去访问自己创建的html文件时,发现返回的数据是html代码,而不是解析后的页面. 很是疑惑,自己尝试着解决这个问题,很 ...

  9. 让高清和流畅并存,3DCAT云看车技术领跑汽车行业

    3DCAT实时云渲染平台在承接了奥迪大客户的项目后,将把一部分业务重心放到汽车行业,加大了研发力度和算力投入,细节决定成败,3DCAT的云看车高度还原了汽车每一种材质和纹理,逼真的视觉享受,让车主爱不 ...

  10. 记录--a标签跳转新地址无法访问,但手动输入新地址可以访问

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 问题描述 最近遇到一个有意思的问题,项目中有一个地方,点击需要跳转到一个新的域名地址 笔者使用a标签做跳转,跳是跳过去了,可是跳过去以后, ...