Qt常用类——Qstring

Qstring有一些方面跟C/C++中的string的使用,例如把一个字符串追加到另一个字符串中,也是用“+”。也有append函数等。

下面是是Qstring的一些常用的具体函数示例:

Qt的QString类提供了很方便的对字符串操作的接口。

使某个字符填满字符串,也就是说字符串里的所有字符都有等长度的ch来代替。

QString::fill ( QChar ch, int size = -1 )

例:

 QString str = "Berlin";
 str.fill('z'); // str == "zzzzzz"  str.fill('A', 2); // str == "AA"

2,从字符串里查找相同的某个字符串str。

int QString::indexOf ( const QString & str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive ) const

例如:

QString x = "sticky question";
QString y = "sti";
x.indexOf(y); // returns 0 x.indexOf(y, 1); // returns 10 x.indexOf(y, 10); // returns 10 x.indexOf(y, 11); // returns -1

3指定位置插入字符串

QString & QString::insert ( int position, const QString & str )

例如:

QString str = "Meal";
str.insert(1, QString("ontr")); // str == "Montreal"

3,判断字符串是否为空。

bool QString::isEmpty () const

4.判断字符串是否存在。

bool QString::isNull () const

5,从左向右截取字符串

QString QString::left ( int n ) const

例如:

QString x = "Pineapple";
QString y = x.left(4); // y == "Pine"

6,从中间截取字符串。

QString QString::mid ( int position, int n = -1 ) const

例如:

QString x = "Nine pineapples";
QString y = x.mid(5, 4); // y == "pine" QString z = x.mid(5); // z == "pineapples"

7,删除字符串中间某个字符。

QString & QString::remove ( int position, int n )

例如:

QString s = "Montreal";
s.remove(1, 4); // s == "Meal"

8,替换字符串中的某些字符。

QString & QString::replace ( int position, int n, const QString & after )

例如:

QString x = "Say yes!";
QString y = "no";
x.replace(4, 3, y); // x == "Say no!"

9,以某个字符切割字符串。(最近经常用到的)

QString QString::section ( QChar sep, int start, int end = -1, SectionFlags flags = SectionDefault ) const

10,把整型,浮点型,或其他类型转化为QString

QString & QString::setNum ( uint n, int base = 10 )
如果我们希望检查一个字符串是否是以某物开始或结束,我们可以使用startsWith()和endsWith()函数:

if (url.startsWith("http:") && url.endsWith(".png"))
    ...
这个要比下面的简单快速:

if (url.left(5) == "http:" && url.right(4) == ".png")
...
使用==操作符的字符串比较是大小写敏感的。 如果我们正在比较用户级(user-visible)字符串,localeAwareCompare()经常是正确的选择,并且如果我们希望大小写不敏感,我们可以用toUpper()或toLower()。 例如:

if (fileName.toLower() == "readme.txt") 

  

 

posted @ 2018-09-29 10:14  cs_wu  阅读(2021)  评论(0编辑  收藏  举报