麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > QString分割字符串詳解

QString分割字符串詳解

來源:千鋒教育
發布人:xqq
時間: 2023-11-23 14:16:27 1700720187

一、qstring截取一段字符串

在QString中,可以使用mid方法來截取一段指定長度的字符串。mid方法接收兩個參數,第一個參數是待截取的字符串的起始位置,第二個參數是待截取字符串的長度。


QString str = "Hello, World!";
QString newStr = str.mid(7, 5); // 從字符串的第7個字符開始,截取5個字符,newStr的值為"World"

也可以不指定第二個參數,則只截取起始位置之后的所有字符。


QString str = "Hello, World!";
QString newStr = str.mid(7); // 從字符串的第7個字符開始,截取之后的所有字符,newStr的值為"World!"

使用left和right方法可以從字符串的左側或右側分別截取指定長度的字符串。left方法從左側開始截取,接收一個參數指定要截取的字符長度。right方法從右側開始截取,同樣接收一個參數指定要截取的字符長度。


QString str = "Hello, World!";
QString newStr1 = str.left(5); // 從字符串的左側開始,截取5個字符,newStr1的值為"Hello"
QString newStr2 = str.right(6); // 從字符串的右側開始,截取6個字符,newStr2的值為"World!"

二、qstring字符串替換

QString中提供了replace方法用于字符串替換。replace方法接收兩個參數,第一個參數是被替換的字符串,第二個參數是替換后的字符串。


QString str = "Hello, World!";
str.replace("World", "Mars"); // 將"World"替換成"Mars",str的值變為"Hello, Mars!"

如果需要在替換前先判斷一下字符串中是否包含指定的子串,可以使用contains方法。


QString str = "Hello, World!";
if (str.contains("World")) {
    str.replace("World", "Mars");
}

三、qstring分隔符取數據

QString提供了split方法用于根據指定分隔符對字符串進行分割。split方法接收一個參數,即指定的分隔符,返回一個字符串列表,表示分割后得到的所有子串。


QString str = "apple,banana,pear";
QStringList list = str.split(","); // 按","為分隔符分割字符串,list的值為["apple", "banana", "pear"]

split方法還可以接收第二個參數,表示分割后的子串的最大數量。


QString str = "apple,banana,pear";
QStringList list = str.split(",", 2); // 按","為分隔符分割字符串,返回2個子串,list的值為["apple", "banana,pear"]

四、qstring如何截取字符串

除了之前介紹的mid、left和right方法之外,QString還提供了幾種截取字符串的方法。

一種是使用remove方法,先刪除指定位置及之后的字符,再刪除指定位置及之前的字符,即可得到所需的子串。


QString str = "Hello, World!";
str.remove(str.indexOf(','), str.length()); // 刪除","及其后的字符
str.remove(0, str.lastIndexOf(' ') + 1); // 刪除第一個空格及其前面的字符

另一種是使用section方法,可以方便地從復雜字符串中提取子串。section方法接收三個參數,第一個參數是指定的分隔符,第二個參數是子串的索引(從0開始),第三個參數是標志位,表示截取的方式。


QString str = "China,Beijing,Chaoyang";
QString city = str.section(',', 1, 1); // 返回第2個子串"Beijing"

標志位有三個選項:

QString::SectionDefault:默認選項,截取指定索引對應的子串。 QString::SectionSkipEmpty:如果截取得到的子串為空,則跳過。 QString::SectionIncludeLeadingSep:將分隔符放在截取得到的子串前面。

五、qstring查找字符串

在QString中,可以使用indexOf和lastIndexOf方法查找指定字符串的位置。這兩個方法都接收兩個參數,第一個參數是待查找的字符串,第二個參數是查找起點的位置。


QString str = "Hello, World!";
int pos1 = str.indexOf("l"); // 查找"l"第一次出現的位置,pos1的值為2
int pos2 = str.lastIndexOf("l"); // 查找"l"最后一次出現的位置,pos2的值為10
int pos3 = str.indexOf("l", pos2 + 1); // 從pos2+1的位置開始查找"l",pos3的值為3

另外,還可以使用count方法查找指定子字符串在當前字符串中出現的次數。


QString str = "Hello, World!";
int count = str.count("l"); // 返回"l"在字符串中出現的次數,count的值為3

六、字符串如何轉成qstring

在Qt中經常需要將char*、std::string等其他類型的字符串轉換成QString類型,QString提供了fromStdString、fromLocal8Bit和fromUtf8等方法來實現。


char* cstr = "Hello, World!";
QString str1 = QString::fromLocal8Bit(cstr); // 將本地編碼的字符串轉換成QString
std::string stdstr = "Hello, World!";
QString str2 = QString::fromStdString(stdstr); // 將std::string類型的字符串轉換成QString
const char* utf8str = "你好,世界!";
QString str3 = QString::fromUtf8(utf8str); // 將UTF-8編碼的字符串轉換成QString

七、string字符串分割

在使用string類型的字符串時,可以先將其轉換成QString類型,然后使用split方法進行分割。另外,也可以使用stringstream對象進行分割。


#include 
#include 
using namespace std;

string str = "apple,banana,pear";
QString qstr = QString::fromStdString(str);

// 使用split方法進行分割

QStringList list = qstr.split(",");
for (int i = 0; i < list.size(); i++) {
    string s = list[i].toStdString(); // 將QString轉換成string類型
    cout << s << endl;
}

// 使用stringstream對象進行分割

stringstream ss(str);
string s;
while (getline(ss, s, ',')) {
    cout << s << endl;
}

tags: react-player
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 吃奶摸下激烈视频无遮挡| 99国产精品久久久久久久成人热| 国产精品宾馆在线| 小受被多男摁住—灌浓精| 亚欧洲精品在线视频免费观看| 精品一区二区三区水蜜桃| 蜜臀91精品国产高清在线观看| 欧美影视一区| 你的腿再打开一点就能吃到了| 你的腿再打开一点就能吃到了| 国产不卡在线视频| 久久精品国产99精品最新| 亚洲伊人色欲综合网| 成年女人色毛片| 美女被网站大全在线视频| 男人j进女人p一进一出视频| 露脸国语对白视频| 亚洲免费网址| 久久本网站受美利坚法律保护| 国产福利精品一区二区| 久久夜色精品国产亚洲| 日韩免费三级电影| 被公侵犯肉体的中文字幕| 精品国产福利在线观看91啪| 久久中文字幕一区二区| 国产精品久久久久久福利| 老子午夜影院| 亚洲日韩天堂| 四虎永久在线精品国产馆v视影院| 国精品在亚洲_欧美| 推拿电影完整未删减版资源| 91成人影院| 国产精品多p对白交换绿帽| 日本漫画之无翼彩漫大全| 萌白酱喷水视频| 国产一区精品视频| 欧美黑人换爱交换乱理伦片| 卡一卡2卡3高清乱码网| 亚洲蜜芽在线精品一区| 日本一道高清不卡免费| 一本一本久久a久久综合精品蜜桃 一本到在线观看视频 |