Qt数据结构-QString一:常用方法
一、拼接字符串
拼接字符串有两种方法: += 、 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"
QString s = "hello";
s.prepend("abc_"); qDebug() << s; // "abc_hello"
QString s = "hello";
s.replace(0, 3, "a"); // 0-3的字符替换成a qDebug() << s; // "alo"
QString s = " hello";
s = s.trimmed(); qDebug() << s; // "hello"
四、判断
QString s = "hello"; // true,大小写不敏感
qDebug() << s.startsWith("H", Qt::CaseInsensitive); // true,大小写敏感
qDebug() << s.startsWith("h", Qt::CaseSensitive);
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一:常用方法的更多相关文章
- Qt 的QString类的使用
Qt的QString类提供了很方便的对字符串操作的接口. 使某个字符填满字符串,也就是说字符串里的所有字符都有等长度的ch来代替. QString::fill ( QChar ch, int size ...
- QT之QString的arg方法
转载.标记一下,总结的很好 转自 http://www.cnblogs.com/lomper/p/4135387.html 在QT的QString中,arg方法类似于C中的printf中使用的格式输出 ...
- Qt的QString转换问题
之前是写C#的,涉及类型转换要么是强转,类似(String)这样,要么是用Converter提供的转换方法,但是今天开发qt界面的时候,使用(QString)强转int类型的时候出现了乱码: 后来研究 ...
- QT数据结构内存分配策略
在QT的Reference中无意看到了QString及其他类型数据结构内存的分配策略,翻译并记录一下. 在QString的数据结构中,QString通过一次附加一个字符来动态构建字符串.假设我们向QS ...
- Qt中 QString 和int, char等的“相互”转换
转载:http://blog.csdn.net/ei__nino/article/details/7297791 Qt中 int ,float ,double转换为QString 有两种方法 1.使用 ...
- Qt中 QString 和int, char等的“相互”转换,关键是QString.toLocal8Bit().data();
Qt中 int ,float ,double转换为QString 有两种方法 1.使用 QString::number(); 如: long a = 63; QString s = QString:: ...
- Qt 中QString 字符串操作:连接、组合、替换、去掉空白字符
Qt中的字符串类 QString类 保存了16位Unicode值,提供了丰富的操作.查询和转换等函数. QString 字符串有如下几个操作符: (1) "+" 用于组合两个字符串 ...
- Qt下 QString转char*
Qt下面,字符串都用QString,确实给开发者提供了方便.Qt再使用第三方开源库时,由于库的类型基本上都是标准的类型,字符串遇的多的就是Char*类型 Qt再使用第三方开源库时,由于库的类型基本上都 ...
- QT中QString 与 int float double 等类型的相互转换
Qt中 int ,float ,double转换为QString 有两种方法 1.使用 QString::number(); 如: long a = 63; QString s = QString:: ...
- Qt中QString、QByteArray、int、double之间转换
最近写Qt中的tcp网络编程,Socke连接后,接受到的数据类型是字节型,这就涉及到了大量的类型转换,在网上辗转几辄,总算有了点结果,特此跟大家分享.好了,不废话,下面细说. 方法/步骤 1. ...
随机推荐
- 用Docker发布网站时,自动下载Directory.Build.props及其Import的文件
为Blazor网站项目,"添加Docker支持" 这时,网站项目根目录下会新增Dockerfile. 里面文字内容如下 #See https://aka.ms/customizec ...
- 第一百一十二篇: JS数组Array(一)数组基本用法
好家伙, 1.数组 Array应该就是ECMAScript中最常用的类型了.ECMAScript数组跟其他编程语言的数组有很大区别. 跟其他语言中的数组一样,ECMAScript 数组也是一组有序 ...
- 【Azure App Service for Container】记一次拉取镜像失败的特殊情况
问题描述 使用Azure App Service For Container 拉取 应用镜像,发现拉取失败. 错误消息: "Image pull failed since Inspect i ...
- 【Azure 事件中心】 Event Grid(事件网格)+Azure Functions处理IOT Hub中的消息
问题描述 使用IOT Hub的Events功能,使用Event Grid(事件网格)订阅IOTHub状态消息,发送到Azure Functions.那如何来创建Event Grid触发的Functio ...
- Nebula Graph|如何打造多版本文档中心
本文首发于 Nebula Graph Community 公众号 世界上没有完美的产品,每个不完美的产品都需要一份文档. 为什么需要文档 打造出一款产品后,我们需要一份文档来回答以下问题: 设计这款产 ...
- 音标 重音 u 用 中文 吁 去记忆 骑马让马停下来的 吁 - 英语
音标 重音 u 用 中文 吁 去记忆 骑马让马停下来的 吁
- tomcat startup.bat 包含springboot的输出 里面乱码的解决方案
springboot输出是用的 logger 它的编码是 UTF-8 tomcat 默认也是UTF-8 但是win10 默认的 命令窗口是 GBK的,如果把tomcat 和 springboot的格式 ...
- @hook:updated="$common.lib.consoleInfo('updated')" vue外层插入监听事件
@hook:updated="$common.lib.consoleInfo('updated')" vue外层插入监听事件
- day04-Java基础语法
Java基础语法 1.注释 注释不会被执行,是用来给写代码的人看的. 1.1单行注释 单行注释只能注释一行文字 // 注释 1.2多行注释 多行注释可以注释多行文字 /* 注释 注释 注释 */ 1. ...
- 结构体、共用体与C++基础
结构体.共用体与C++基础 1.结构体 结构体是C编程中一种用户自定义的数据类型,类似于Java的JavaBean //Student 相当于类名 //student和a 可以不定义,表示结构变量,也 ...