QString学习笔记

Qt则提供了自己的字符串实现:QString,QString以16位Uniode进行编码,采用隐式共享提升内存效率。

1. 操作字符串

  • + += 操作符;            QString str = "Hello";   str += " World";    // str = "Hello World"
  • append()函数追加, QString str = "Hello";   str.append(" World");
  • sprintf()函数;          QString str;  str.sprintf("%s %s", "Hello", " World");
  • arg()函数;                QString str = QString("%1 %2").arg("Hello").arg(" Word");
  • trimmed()函数;      移除字符串两端的空白字符
  • simplified()函数;    移除字符串两端的空白字符,使用单个空白字符“ ”替代字符串中的出现的空白字符
  • replace()函数,支持多种重载,支持正则替换

2. 查询字符串

函数原型:startsWith/endsWith/contains 类似。

bool startsWith(const QString & s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
  • startsWith() 函数
  • endsWith() 函数
  • contains()  函数
  • 比较操作符  ==、  >=、  <=、  >、  <
  • QString::compare(const QString &s1, const QString & s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) 函数,可以指定大小写,QString 静态函数

3. 字符串转换

  • 字符串转整形    toInt()、  toFloat()、  toDouble() 、toLong()、 toLongLong()
  • 字符集转换   toAscii()  toLatin1()  toUTF8()  toLocal8Bit()
  • 数字转字符串QString::number() 静态函数 如QString::number(a, 16).toUpper(); // "3F"

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注