QString 是 Qt 编程中常用的类,除了用作数字量的输入输出之外,QString 还有很多其他功能,熟悉这些常见的功能,有助于灵活地实现字符串处理功能。
QString 存储字符串釆用的是 Unicode 码,每一个字符是一个 16 位的 QChar,而不是 8 位的 char,所以 QString 处理中文字符没有问题,而且一个汉字算作是一个字符。
append() 和 prepend()
append() 在字符串的后面添加字符串,prepend() 在字符串的前面添加字符串,如:
1 QString str1="卖",str2="拐";
2 QString str3=str1;
3 str1.append (str2) ; //str1="卖拐"
4 str3.prepend (str2) ; //str3="拐卖"
oUpper() 和 toLower()
toUpper() 将字符串内的字母全部转换为大写形式,toLower() 将字母全部转换为小写形式,如:
1 QString str1="Hello, World", str2;
2 str2=str1.toUpper(); //str1="HELLO,WORLD"
3 str2=str1.toLower(); //str1="hello, world"
count()、size() 和 length()
count()、size() 和 length() 都返回字符串的字符个数,这 3 个函数是相同的,但是要注意,字符串中如果有汉字,一个汉字算一个字符。
1 QString str1="NI 好"
2 N=str1.count() //N=3
3 N=str1.size() //N=3
4 N=str1.length() //N=3
trimmed() 和 simplified()
trimmed() 去掉字符串首尾的空格,simplified() 不仅去掉首尾的空格,中间连续的空格也用一个空格替换。
1 QString str1=" Are you OK? ", str2;
2 str2=str1.trimmed () ; //str1="Are you OK? "
3 str2=str1.simplified(); //str1="Are you OK?"
indexOf () 和 lastIndexOf ()
indexOf() 函数的原型为:
int indexOf (const QString &str, int from = 0 , Qt::CaseSensitivity cs = Qt::CaseSensitive) const
其功能是在自身字符串内查找参数字符串 str 出现的位置,参数 from 是幵始查找的位置,Qt::CaseSensitivity cs 参数指定是否区分大小写。
lastIndexOf() 函数则是查找某个字符串最后出现的位置。
1 QString str1="G:Qt5BookQT5.9Studyqw.cpp";
2 N=str1.indexOf("5.9"); // N=13
3 N=str1.lastIndexOf("\"); //N=21
提示,"" 是转义字符,如果要查找 "",需要输入 "\"。
isNull() 和 isEmpty()
两个函数都判读字符串是否为空,但是稍有差别。如果一个空字符串,只有“