简介: QString常用的功能函数的介绍和用法。

[TOC]


本文初发于 “偕臧的小站“,同步转载于此。


简述:

详情: 见简介


编程环境: win10 x64 专业版 1803

编程软件: Qt Creator 4.8.2 (Enterprise)Qt 5.9.8


运行效果:


同系列文章:

QString在2 /8/10/16进制之间转换


QString:

QString存储字符串采用的是Unicode码,每一个字符是一个16位的QChar,而不是8位的char,所以QString处理中文字符没有问题,而且一个汉字算作是一个字符。


常用函数:

注意:QString只要赋值,就在字符串的末尾自动加上“\0”

字符串相关:

  • append() 在字符串后面添加字符串
  • perpend() 在字符串的前面添加字符串
  • toUpper() 将字符串的字母全部转换为大写字母
  • toLower() 将字符串的字母全部转换为大写字母
  • left() 返回包含字符串中最左n个字符的子字符串。如果n大于或等于size()或小于零,则返回整个字符串。
  • right() 返回包含字符串中最右n个字符的子字符串。如果n大于或等于size()或小于零,则返回整个字符串。
  • section() 从字符串中提取以“子字符串”作为分隔符,从start到end端的字符串
  • simplified() 不仅去掉字符串的所首尾空格,中间连续的空格也用一个空格替换
  • trimmed 去掉字符串首尾的空格

数字相关:

  • count() 返回字符串的字符个数。函数同size()、同length()。(字符串中若有汉字,一个汉字算一个字符)

  • size() 同上

  • indexOf() 在字符串中查找子字符串str出现的位置。(Qt::CaseSensitivity cs 参数指定是否区分大小写)

  • lastIndexOf() 在字符串中查找子字符串str最后出现的位置


逻辑判断:

  • startsWith() 判断是否以某个字符串开头
  • endsWith() 判断是否以某个字符串结尾
  • contains() 判断某个字符串中是否包含某个字符串
  • isNull() 判断字符串是否为空。(若是只有“\0”,isNull返回false; 只有未赋值的字符串,isNull返回true)
  • isEmpty() 判断字符串是否为空.(若是只有“\0”,isEmpty返回true)

isNull()和isEmpty()的区别:

isNull()isEmpty()
两个函数都判读字符串是否为空,但是稍有差别。如果一个空字符串,只有“0”,isNull)
返回false,而isEmpty0返回true;只有未赋值的字符串,isNull()才返回true。
QString strl,str2="";
N=str1.isNul1()//N=true未赋值字符串变量
N=str2.isNull()//N=false只有“\\0”的字符串,也不是Nul1
N=strl.isEmpty();     //N=true
N=str2.isEmpty()//N=true

QString只要赋值,就在字符串的末尾自动加上“10”,所以,如果只是要判断字符串内容是
否为空,常用isEmptyO。

源码下载:

https://github.com/xmuli/QtExamples 【QtQStringFunEx】


开心分享:

因为有着许许多多的热心网友的无私分享,从他们的博客中学习成长,学会很多,故也不辞辛苦也将自己的项目或经验整理成博客的形式,也提供给一起大家学习探讨与交流