字符串有如下几个操作符:
(1)QString提供了一个二元的“+”操作符用于组合两个字符串,并提供了一个“+=”操作符用于将一个字符串追加到另一个字符串的末尾;
(2)QString::append()函数具有与“+=”操作符同样的功能,实现在一个字符串的末尾追加另一个字符串
(3)组合字符串的另一个函数是QString::sprintf(),此函数支持的格式定义符和C++库中的函数sprintf()定义的一样
QString str;
str.sprintf("%s"," Welcome "); //str="Welcome "
str.sprintf("%s"," to you! "); //str="to you! "
str.sprintf("%s %s"," Welcome ", "to you! "); //str=" Welcome to you! "
(4)Qt还提供了另一种方便的字符串组合方式,使用QString::arg()函数,此函数的重载可以处理很多的数据类型。此外,一些重载具有额外的参数对字段的宽度、数字基数或者浮点数精度进行控制。通常,相对于函数QString::sprintf(),函数QString::arg()是一个比较好的解决方案,因为它类型安全,完全支持Unicode,并且允许改变"%n"参数的顺序。例如:
QString str;
str=QString("%1 was born in %2.").arg("John").arg(1982);//str="John was born in 1982."
(5)QString也提供了一些其他组合字符串的方法,包括如下几种。
- ① insert()函数:在原字符串特定的位置插入另一个字符串;
- ② prepend()函数:在原字符串的开头插入另一个字符串;
- ③ replace()函数:用指定的字符串代替原字符串中的某些字符。
(6)很多时候去掉一个字符串两端的空白(空白字符包括回车字符“\n”、换行字符“\r”、制表符“\t”和空格字符“ ”等)非常有用,如获取用户输入的账号时。
① QString::trimmed()函数:移除字符串两端的空白字符;
-
② QString::simplified()函数:移除字符串两端的空白字符,使用单个空格字符“ ”代替字符串中出现的空白字符。
例如:QString str=" Welcome \t to \n you! ";
str=str.trimmed(); //str=" Welcome \t to \n you! "