字符串有如下幾個操作符:
(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! "