Qt基础1:QString
头文件:#include <QString>
1、拼接
1)直接使用“+”;
2)append() 在字符串后面添加字符串;
3)prepend() 在字符串前面添加字符串。
QString str1 = "nihao "; QString str2 = "shijie"; QString str3 = ""; str3 = str1 + str2; //nihao shijie str1.append(str2); //nihao shijie
str1.prepend(str2); //"shijienihao "
2、求字符串长度
count(),size(),length()都能返回字符串长度,
注:如果字符串中含有汉字,一个汉字算一个字符。
3、大小写转换
toUpper() 转换为大写 //str1.toUpper();
tolower() 转换为小写 //str2.toLower();
4、去除字符串中的空格
trimmed() 去除字符串首尾的空格
simplified() 去除字符串的首尾空格;并且将中间的连续空格换为一个空格代替。
补充: 去除字符串中的多有字符(结合正则表达式)
str.remove( QRegExp("\\s") );
5、在字符串中查找参数字符串出现的位置
indexOf() 在字符串中查找参数字符串出现的位置
最多指定三个参数:
1、参数字符串; 2、开始匹配位置; 3、指定是否区分大小写
lastIndexOf() 参数字符串最后出现的位置
6、判断字符串是否为空
isNull() 和 isEmpty()
QString str1,QString str2=“”;
str1.isNull() //返回true //为赋值字符串
str2.isNull() //返回false //只有“\0”的字符串,也不是Null
str1.isEmpty() //返回 true
str2.isEmpty() //返回 true
注:QString只要赋值就会在最后加上“\0”,因此,在实际使用中常用isEmpty();
7、判断字符串中是否包含某个字符串
contains()
第一个参数指定字符串,第二个参数指定是否区分大小写。
8、其他方法
str1.endsWith("cloos",Qt::CaseInsensitive); //判断字符串是否以某个字符串结尾 str1.startsWith("cloos",Qt::CaseSensitive); //判断字符串是否以某个字符串开始 str2 = str1.left(3); //返回从字符串左边取3个字符 str2 = str1.right(3); //返回从字符串右边取3个字符 str2 = str1.mid(3,4); //返回从字符串左边第三个字符开始取4个字符。 str2 = str1.section(",",0,3); //从字符串中提取以第一个参数作为分隔符,从0端开始到3端的字符串。
9、与数值之间的转换
1)转换为整数
int toInt(bool *ok = Q_NULLPTR, int base=10) const
long toLong(bool *ok = Q_NULLPTR, int base=10) const
short toShort(bool *ok = Q_NULLPTR, int base=10) const
uint toUInt(bool *ok = Q_NULLPTR, int base=10) const
ulong toULong(bool *ok = Q_NULLPTR, int base=10) const
使用方法:
str.toInt(); 第一个参数返回转换是否成功;第二个参数指定进制,默认为10进制。
2)转换为浮点数
double toDouble(bool *ok = Q_NULLPTR) const
float toFloat(bool *ok = Q_NULLPTR) const
3)数值转换为QString
以显示两位小数为例
str = QString::number(num,'f',2);
str = QString::asprintf( "%.2",num);
str = str.setNum(num,"f",2);
str = str.sprintf( "%.2", num);