QT学习(3)
QT字符串类QString
QString 类保存16位Unicode值,提供了丰富的操作、查询和转换的等方法
字符串操作
(1)QString提供了一个二元的“+”操作符用于组合两个字符串,提供“+=”用于将一个字符串追加到另一个字符串的末尾。
QString str1 = "Welcome";
str1 = str1 + "to you";
QString str2 = "Hello, ";
str2 += "QT";
qDebug()<<"str1= "<<str1<<" "<<"str2= "<<str2;
//str1= "Welcometo you" str2= "Hello, QT"
(2)QString::append()具有与“+=”同样的功能,在一个字符串的末尾追加另一个字符串。
QString str1 = "Welcome ";
QString str2 = "to ";
str1.append(str2);
str1.append("you");
qDebug()<<"str1= "<<str1;
//str1= "Welcome to you"
(3)QString::sprintf()方法也可以组合字符串,并支持格式定义符(与C++中的sprintf()一样)
QString str1;
str1.sprintf("%s","Welcome ");
qDebug()<<"str1= "<<str1;
str1.sprintf("%s","to you");
qDebug()<<"str1= "<<str1;
str1.sprintf("%s %s %s","Welcome","to","you");
qDebug()<<"str1= "<<str1;
/*
str1= "Welcome "
str1= "to you"
str1= "Welcome to you"
*/
(4)QString::arg()方法也是一种方便的组合字符串的方法,并且此函数重载可以处理很多的数据类型,类型安全,完全支持Unicode,并且允许改变"%n"参数的顺序。
QString str1;
str1 = QString("%2 love %1").arg("China").arg("I");
qDebug()<<"str1= "<<str1;
//str1= "I love China"
(5)除此之外,还有如下一些方法
QString方法 | 作用 |
---|---|
insert() | 在原字符串特定的位置插入另一个字符串 |
prepend() | 在原字符串的开头插入另一个字符串 |
replace() | 用指定的字符串代替原字符串中的某些字符 |
QString::trimmed() | 移除字符串两端的空白字符(包括回车、换行、制表符和空格) |
QString::simplified() | 移除字符串两端的空白字符并使用单个空格" "代替字符串中出现的空白字符 |
QString str;
str = " Welcome \n to \t you ";
QString str1 = str.trimmed();
QString str2 = str.simplified();
qDebug()<<"str1= "<<str1<<"str2= "<<str2;
//str1= "Welcome \n to \t you" str2= "Welcome to you"