博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt基础1:QString
阅读量:6853 次
发布时间:2019-06-26

本文共 2034 字,大约阅读时间需要 6 分钟。

头文件:#include <QString>

1、拼接

  1)直接使用“+”;

  2)append() 在字符串后面添加字符串;

  3)prepend() 在字符串前面添加字符串。

  QString str1 = "nihao ";  QString str2 = "shijie";  QString str3 = "";  str3 = str1 + str2;  //nihao shijie  str1.append(str2);  //nihao shijie   str1.prepend(str2);  //"shijienihao "

2、求字符串长度

  count(),size(),length()都能返回字符串长度,

  注:如果字符串中含有汉字,一个汉字算一个字符。

3、大小写转换

  toUpper() 转换为大写  //str1.toUpper();

  tolower() 转换为小写  //str2.toLower();

4、去除字符串中的空格

  trimmed()   去除字符串首尾的空格

  simplified()  去除字符串的首尾空格;并且将中间的连续空格换为一个空格代替。

5、在字符串中查找参数字符串出现的位置

  indexOf()  在字符串中查找参数字符串出现的位置

    最多指定三个参数:

    1、参数字符串;  2、开始匹配位置;  3、指定是否区分大小写

  lastIndexOf()  参数字符串最后出现的位置

6、判断字符串是否为空

  isNull()  和  isEmpty()

  QString str1,QString str2=“”;

  str1.isNull()  //返回true  //为赋值字符串

  str2.isNull()  //返回false  //只有“\0”的字符串,也不是Null

 

  str1.isEmpty()  //返回 true

 

  str2.isEmpty()  //返回 true

  注:QString只要赋值就会在最后加上“\0”,因此,在实际使用中常用isEmpty();

7、判断字符串中是否包含某个字符串

  contains()

  第一个参数指定字符串,第二个参数指定是否区分大小写。

8、其他方法

str1.endsWith("cloos",Qt::CaseInsensitive);     //判断字符串是否以某个字符串结尾    str1.startsWith("cloos",Qt::CaseSensitive);     //判断字符串是否以某个字符串开始    str2 = str1.left(3);        //返回从字符串左边取3个字符    str2 = str1.right(3);       //返回从字符串右边取3个字符    str2 = str1.mid(3,4);       //返回从字符串左边第三个字符开始取4个字符。    str2 = str1.section(",",0,3);   //从字符串中提取以第一个参数作为分隔符,从0端开始到3端的字符串。

 9、与数值之间的转换

  1)转换为整数

    int toInt(bool *ok = Q_NULLPTR, int base=10)  const

    long toLong(bool *ok = Q_NULLPTR, int base=10)  const

    short toShort(bool *ok = Q_NULLPTR, int base=10)  const

    uint toUInt(bool *ok = Q_NULLPTR, int base=10)  const

    ulong toULong(bool *ok = Q_NULLPTR, int base=10)  const

    使用方法:

      str.toInt();  第一个参数返回转换是否成功;第二个参数指定进制,默认为10进制。

  2)转换为浮点数

    double toDouble(bool *ok = Q_NULLPTR)  const

    float toFloat(bool *ok = Q_NULLPTR)  const

  3)数值转换为QString

    以显示两位小数为例

    str = QString::number(num,"f",2);

    str = QString::asprintf( "%.2",num);

    str = str.setNum(num,"f",2);

    str = str.sprintf( "%.2", num);

转载于:https://www.cnblogs.com/longxi/p/10795826.html

你可能感兴趣的文章
保留CAAnimation执行后的效果
查看>>
第三方登录(QQ登录)开发流程详解
查看>>
Pwn2Own黑客大赛首日:Safari、IE8被攻破
查看>>
JSignature的使用
查看>>
批处理文件
查看>>
MySQL,Oracle,PostgreSQL,DB2,mongoDB,Hive, SAP HANA 数据库web维护客户端管理工具
查看>>
V-rep学习笔记:机器人模型创建1—模型简化
查看>>
cocos2dx simplegame 2 添加不同的怪物
查看>>
ios 开发中经常用到的 栏控件(bar)
查看>>
MySQL ibdata多路径扩容
查看>>
[差分][栈]JZOJ 4209 已经没有什么好怕的了awa
查看>>
2019寒假纪中总结
查看>>
DH02-策略模式
查看>>
poj 1094 Sorting It All Out
查看>>
配置Instantclient
查看>>
【转】程序员必读书单 1.0
查看>>
编译安装 nginx的http_stub_status_module监控其运行状态
查看>>
AtCoder Regular Contest 069 D
查看>>
关于sql server批量插入与更新两种解决方案
查看>>
判断 iPhone 是否插入了 SIM 卡
查看>>