qt -- QString類及常用函式功能的使用
append() 和 prepend()
append() 在字串的後面新增字串, prepend() 在字串的前面新增字串
QString str = "and"; str.prepend("rock "); // str == "rock and" str.append(" roll"); // str == "rock and roll"
toUpper() 和 toLower()
toUpper() 將字串內的字母全部轉換為大寫,toLower() 將字母全部轉換為小寫,如:
QString str1 = "Hello", str2; str2 = str1.toUpper(); //str2 = "HELLO" str2 = str1.toLower(); //str2 = "hello"
count()、size() 和 length() 返回值:int
count()、size() 和 length() 都返回字串的字元個數,這 3 個函式是相同的,但是要注意,字串中如果有漢字,一個漢字算一個字元。
QString str = "abc" int N = str1.count() //N = 3 int N1 = str1.size() //N1 = 3 int N2 = str1.length() //N2 = 3
isNull() 和 isEmpty() 返回值:bool
都是判斷字串是否為空;如果一個空字串,只有“\0”,isNull() 返回 false,而 isEmpty() 返回 true;只有未賦值的字串,isNull() 才返回 true
QString str1, str2 = ""; bool N = str1.isNull () ; // N = true 未賦值字串變數 bool N1 = str2.isNull (); // N1 = false 只有"\0"的字串,也不是 Null bool N2 = str1.isEmpty(); // N2 = true bool N3 = str2.isEmpty(); // N3 = true
字串擷取:
mid(int position, int n = -1) const
兩個引數,第一個是起始位置,第二個是取串的長度。如果省略第二個引數,則會從起始位置擷取到末尾
QString str = "Nine pineapples"; QString str1 = str .mid(5, 4); // str1 = "pine" QString str2 = str .mid(5); // str2 = "pineapples"
left()和rigt()
都接受一個int型別的引數n,都是對字串進行擷取。不同之處在於,left()函式從左側擷取n個字元,而right()從右側開始擷取 。
QString str = "Pineapple"; QString str1 = str.left(4); // str1 = "Pine"
字串替換:
replace() :QString &QString::replace(int position, int n, QChar after)
用索引後的字元替換從索引位置(position)開始的n個字元,並返回對此字串的引用。
QString str = "and"; str.prepend("rock "); // str == "rock and" str.append(" roll"); // str == "rock and roll" str.replace(5, 3, "&"); // str == "rock & roll"
字串插入
QString &QString::insert(int position, const QString &str)
QString str = "Meal"; str.insert(1, QString("ontr")); // str == "Montreal"
字串切割:
字串分割可以按照空格(“ ”)、逗號(“,”)、頓號(“、”)等進行分割,也可以用正規表示式
section():
QString QString::section(QChar sep, int start, int end = -1, QString::SectionFlags flags = SectionDefault) const
從字串中提取以 sep 作為分隔符,從 start 端到 end 端的字串。
QString str; QString csv = "forename,middlename,surname,phone"; QString path = "/usr/local/bin/myapp"; // First field is empty QString::SectionFlag flag = QString::SectionSkipEmpty; str = csv.section(',', 2, 2); // str == "surname" str = path.section('/', 3, 4); // str == "bin/myapp" str = path.section('/', 3, 3, flag); // str == "myapp"
split():
QStringList QString :: split(const QString& sep, Qt :: SplitBehavior behavior = Qt :: KeepEmptyParts,
Qt :: CaseSensitivity cs = Qt :: CaseSensitive)const
在sep出現的任何位置將字串拆分為子字串,並返回這些字串的列表。如果sep與字串中的任何地方都不匹配,則split()返回包含此字串的單元素列表。cs指定sep應該區分大小寫還是不區分大小寫。如果行為是Qt :: SkipEmptyParts,則空條目不會出現在結果中。預設情況下,保留空條目。
QString str = QStringLiteral("a,,b,c"); QStringList list1 = str.split(','); // list1: [ "a", "", "b", "c" ] QStringList list2 = str.split(',', Qt::SkipEmptyParts); // list2: [ "a", "b", "c" ]
字串查詢:
indexOf () 和 lastIndexOf ()
int | indexOf(QLatin1String str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
在自身字串內查詢引數字串 str 出現的位置,引數 from 是幵始查詢的位置,Qt::CaseSensitivity cs 引數指定是否區分大小寫。
int | lastIndexOf(QChar ch, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
lastIndexOf() 函式則是查詢某個字串最後出現的位置。
QString str1="G:\Qt5Book\QT5.9Study\qw.cpp"; N = str1.indexOf("5.9"); // N=13 N = str1.lastIndexOf("\\"); //N=21 "\"轉義字元
endsWith() 和 startsWith()
startsWith() 判斷是否以某個字串幵頭,endsWith() 判斷是否以某個字串結束。
QString str1=MG:\Qt5Book\QT5.9Study\qw.cpp"; N=str1.endsWith (".cpp", Qt::CaseInsensitive) ; // N=true,不區分大小寫 N=str1.endsWith (".CPP", Qt::CaseSensitive) ; // N=false,區分大小寫 N=str1.startsWith ("g: ") ; // N=true,預設為不區分大小寫
字串去空格:
trimmed() 和 simplified()
trimmed() 去掉字串首尾的空格,simplified() 不僅去掉首尾的空格,中間連續的空格也用一個空格替換。
相關文章
- 【Qt 專欄】QString::arg()函式QT函式
- QT常用函式QT函式
- QT字串QStringQT字串
- Carbon 類常用函式函式
- numpy、pandas常用函式功能函式
- Hive常用函式及自定義函式Hive函式
- PHP 自定義函式用法及常用函式集合PHP函式
- C++ Qt開發:字串QString容器C++QT字串
- Qt學習筆記(五)QString 字串QT筆記字串
- Mysql中常用函式的使用示例MySql函式
- OC常用數學函式及常量函式
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- excel最常用的八個函式彙總 excel中各函式的用途功能Excel函式
- 前端常用的工具類函式, 持續更新中前端函式
- PHP常用函式歸類【持續整理】PHP函式
- 【C語言】常用的字串函式及相關函式的自我實現C語言字串函式
- 02_函式定義及使用函式函式
- QT的QImage類的使用QT
- QT的QProgressDialog類的使用QT
- QT的QAxBase類的使用QT
- QT的QWGLNativeContext類的使用QTContext
- Mysql 常用函式(1)- 常用函式彙總MySql函式
- 常用的Css函式CSS函式
- python的常用函式Python函式
- Js常用的函式JS函式
- Unity&Shader常用函式的使用方法Unity函式
- jmeter學習指南之常用函式的使用JMeter函式
- 常用函式函式
- Emgucv使用中常用函式總結函式
- Mysql 常用函式(20)- ceiling 函式MySql函式
- Mysql 常用函式(15)- upper 函式MySql函式
- python語言中類和函式的作用及區別!Python函式
- Golang 常用的 strings 函式Golang函式
- 類的建構函式和解構函式函式
- webpack 4.0 Tapable 類中的常用鉤子函式原始碼分析Web函式原始碼
- mysql注入方法邏輯運算及常用函式MySql函式
- python中calss(類)的使用,類的教程,類中的函式怎麼呼叫。Python函式
- 常用助手函式函式