(五)Qt中的字符串类

Qt是一种C++GUI程序开发框架,因此可以使用C++提供的字符串(1、C风格字符串:以”\0”结尾的字符数组2、字符串类String)也可以使用Qt自己的字符串类QString

 

使用QString类的好处:

采用16位Unicode值

使用隐式共享技术来节省内存和避免不必要的数据拷贝

跨平台兼容性

隐式共享:http://blog.csdn.net/seanyxie/article/details/6120048

 

QString类的部分操作:

1、  组合字符串:

1)使用重载的二元操作符       operator+ 或operator+= 将一个字符串加到另一个字符串末尾,使用方式类似于C++中的字符串类String

2)使用成员函数append() 也是将一个字符串加到另一个字符串末尾

3)使用成员函数sprintf() 将格式化数据写入字符串,类似C++中的sprintf

4)使用成员函数arg() 例子:QString str = QString(“%2 was born in %1.”).arg(“1982”).arg(John);

得到结果QString str = “John was born in 1982”; //”%2”被替换为”John” “%1”倍替换为”1982”

         5)使用成员函数insert()在原字符串特定位置插入另一个字符串

         6)使用成员函数prepend()在原字符串开头插入另一个字符串

         7)使用成员函数replace()用指定字符串代替原字符串中某些字符

2、去掉空白字符(回车符’\r’换行符’\n’制表符’\t’空格符’ ’等) :

         1)使用成员函数trimmed()移除字符串两端的空白字符

2)使用成员函数simplified()移除字符串两端的空白字符,并将字符串中间的空白字符替换为一个空格

3、分割/移除字符串:

(1)、使用成员函数split()将一个字符串分割为多个子串(QStringList)

         (2)、使用成员函数remove()移除指定位置的多个字符

4、查询字符串数据:

         (1)、成员函数startsWith() 判断一个字符串是否以某个指定的字符串开头

         (2)、成员函数endsWith()判断一个字符串是否以某个指定的字符串结尾

         (3)、成员函数contains()判断一个指定的字符/字符串是否出现过

         (4)、成员函数right() 得到含有字符串最右n个元素的子串

         (5)、成员函数left() 得到含有字符串最左n个元素的子串

         (6)、成员函数mid() 得到含有字符串中下标为n开始的元素的子串

         (7)、成员函数indexOf 获取一个指定的字符/字符串在字符串中的位置

         (8)、成员函数count() 获取一个指定的字符/字符串在字符串中出现的次数

         (9)、重载的数组访问操作符operator[]获取字符串中指定位置的字符(QChar)的引用

         (10)、成员函数at() 作用与operator[]一致,但是更快,因为他不会引起深拷贝

5、比较字符串:

         (1)、重载的运算符operator<、> 、==、<=、>=

         (2)、成员函数compare

6、转换操作:

         (1)、成员函数toInt() 、toDOuble()、toLong()等

         (2)、静态成员函数number()将数字转化为某种机制的字符串

         (3)、成员函数toLower()获取字符串的小写副本

         (4)、成员函数toUpper()获取字符串的大小副本

7、NULL字符串与空字符串:

NULL字符串使用的QString类的默认构造函数或在构造函数中传递了0构造的QString类对象

空字符串是大小为0的字符串

NULL字符串一定是空字符串,空字符串不一定是NULL字符串

例如:

NULL字符串:

QString().isNull();              //true

QString().isEmpty();          //true

空字符串:

QString(“ ”).isNull();         //false

QString(“ ”).isEmpty();     //true

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值