一、QString簡介
QString是Qt框架中的一個重要類,是用於處理字元串的類。它基於Unicode,並支持很多Unicode字符集。許多Qt框架中的API都需要使用QString來傳遞字元串。
二、QString截取的基本用法
QString類提供了很多方法用於字元串的操作,其中截取字元串的方法也是非常常用的。主要有mid()、left()、right()三個方法可以使用,具體如下:
QString str = "Hello, world!";
QString mid_str = str.mid(1, 3); // 輸出為 "ell"
QString left_str = str.left(5); // 輸出為 "Hello"
QString right_str = str.right(6); // 輸出為 "world!"
mid()方法用於截取字元串中的一段,第一個參數是開始位置,第二個參數是要截取的字元數。left()和right()方法則根據參數截取字元串的前幾個或後幾個字元。
三、QString截取指定字元
有時我們需要在字元串中截取指定字元之前或之後的部分,這時可以使用indexOf()方法和QStringRef類來實現。如下例:
QString str = "https://www.example.com/index.html";
int index = str.indexOf('/'); // 返回第一次出現'/'的下標0
QStringRef sub_str = str.leftRef(index); // 取從字元串開頭到'/'之前的部分
// 輸出為 https:
qDebug() << sub_str.toString();
這裡使用indexOf()方法找到第一個’/’的位置,然後使用leftRef()方法取從字元串開頭到’/’之前的部分。為了避免在QStringRef中拷貝sub_str使用toString()方法進行轉換。
四、QString截取以某個字元為結尾的子串
對於一些需要字元串結尾為特定字元的操作,如提取文件名、URL等,可以使用QStringList類中的split()方法,將字元串按照結尾字元劃分成多個子串,然後取最後一個子串即可。如下例:
QString str = "https://www.example.com/index.html";
QStringList str_list = str.split("/");
QString file_name = str_list.last(); // 取最後一個子串
// 輸出為 index.html
qDebug() << file_name;
先使用split()方法將字元串按照’/’分割成子串,再取最後一個子串即可得到截取結果。
五、QString截取指定寬度的文本
在顯示文本時,為了使文本長度符合界面寬度,有時會對超出寬度的文本進行省略號省略。可以使用QString中的truncate()方法對文本進行截取。如下例:
QString str = "Hello, world!";
int width = 8;
str.truncate(width); // 截取指定寬度文本
// 輸出為 Hello, w...
qDebug() << str;
這裡給定文本寬度為8,超過這個寬度的部分會被省略號替換。
原創文章,作者:JWRRC,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/368383.html