Qt中QStringList與QString的常用方法總結(jié)
本文匯集了QString 與 (QStringList | QByteArray)之間的轉(zhuǎn)換,以及QString、QStringList的一些常用方法。
QString 轉(zhuǎn) QByteArray
//method<1>
QString src1("hello kandy");
QByteArray ba1 = src1.toUtf8();
//method<2>
QString src2("hello kandy");
QByteArray ba2 = src2.toLatin1();
QByteArray 轉(zhuǎn) QString
//method<1>
QByteArray ba1("hello world");
QString str1 = ba1;
//method<2>
QByteArray ba2("hello world");
QString str2;
str2.prepend(ba2);
QStringList 轉(zhuǎn) QString
QStringList listemp;
listemp << "Apple" << "Grape" << "Orange" << "Banana";
QString str = listemp.join(",");
qDebug() << "\r\nstr:" << str;
//輸出結(jié)果如下
//str: "Apple,Grape,Orange,Banana"
QString轉(zhuǎn) QStringList
QString strtmp = "apple:5.99;grape:12.5;orange:6.99";
QStringList fruits = strtmp.split(";");
qDebug() << "\r\nfruits:" << fruits;
//fruits: ("apple:5.99", "grape:12.5", "orange:6.99")
//
for(int i=0; i < fruits.size(); i++)
{
QStringList fruit = fruits[i].split((":"));
qDebug() << "fruit:" << fruit;
/* fruit: ("apple", "5.99") fruit: ("grape", "12.5") fruit: ("orange", "6.99") */
}
QStringList 其他常用方法
//使用QStringList拆分QString
QString str = "hello,world,I,am,kandy";
QStringList strlist = str.split(",");
qDebug() << "strlist=" << strlist;
//輸出:strlist=("hello","world","I","am","kandy");
//判斷QStringList中是否包含某個(gè)成員
bool bcontain = strlist.contains("kandy");
qDebug() << "bcontain=" << bcontain;
//移除QStringList中的成員
strlist.removeOne("world");
qDebug() << "after removeOne, strlist=" << strlist;
QString 其他常用方法
//QString定義
QString s1 = "hello";
QString s2("world");
//字符串連接
QString str = s1 + s2;
//組包
str = QString("a=%1, b=%2, c=%3").arg("hello").arg("world").arg("12.34");
qDebug() << str;//"a=hello, b=world, c=12.34"
str = "a=hello, b=world, c=12.34";
//參數(shù)表示按逗號(hào)分隔,拆分出第0段到第1段
QString tmp = str.section(",", 0, 1);
qDebug() << "tmp=" << tmp;
//tmp= "a=hello, b=world"
//參數(shù)表示按逗號(hào)分隔,拆分出第0段到第0段
tmp = str.section(",", 0, 0);
qDebug() << "tmp=" << tmp;
//tmp= "a=hello"
//QString轉(zhuǎn)char *
//如果沒(méi)有中文(即字符串為ASCII):
QString ss1 = "hello test";
QByteArray byte1 = ss1.toLatin1();
char * szbuff1 = byte1.data();
//如果有中文(即字符串為Unicode):
QString ss2 = QString::fromStdWString(L"你好, 世界");
QByteArray byte2 = ss2.toLocal8Bit();
char * szbuff2 = byte2.data();
//替換QString中字符串
QString text("text-decoration: none");
text.replace("none", "underline");
qDebug() << "after replace, text=" << text;
//字符移除操作
QString sztmp = QString("hello,china").remove(2, 4); //從下標(biāo)2的字符開(kāi)始, 移除4個(gè)字符
qDebug() << "sztmp=" << sztmp; //輸出hechina
//判斷字符是否以某字符或字符串開(kāi)始/結(jié)束(startsWith/endsWith)
if (QString("@192.168.0.1#").startsWith("@"))
{
qDebug() << "startsWith(\"@\")";
}
if (QString("@192.168.0.1#").endsWith("#"))
{
qDebug() << "endsWith(\"#\")";
}
//判斷QString是否空
qDebug() << "QString().isEmpty()" << QString().isEmpty(); //true
qDebug() << "QString("").isEmpty()" << QString("").isEmpty(); //true
qDebug() << "QString(" ").isEmpty()" << QString(" ").isEmpty(); //false
qDebug() << "QString(\"hi\").isEmpty()" << QString("hi").isEmpty(); //false
qDebug() << "QString().isNull()" << QString().isNull(); //true
qDebug() << "QString("").isNull()" << QString("").isNull(); //false
qDebug() << "QString(" ").isNull()" << QString(" ").isNull(); //false
qDebug() << "QString(\"hi\").isNull()" << QString("hi").isNull(); //false
到此這篇關(guān)于Qt中QStringList與QString的常用方法總結(jié)的文章就介紹到這了,更多相關(guān)Qt QStringList QString內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語(yǔ)言超詳細(xì)講解棧的實(shí)現(xiàn)及代碼
棧(stack)又名堆棧,它是一種運(yùn)算受限的線性表。限定僅在表尾進(jìn)行插入和刪除操作的線性表。這一端被稱為棧頂,相對(duì)地,把另一端稱為棧底。向一個(gè)棧插入新元素又稱作進(jìn)棧、入?;驂簵?,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素2022-04-04
對(duì)比C語(yǔ)言中g(shù)etc()函數(shù)和ungetc()函數(shù)的使用
這篇文章主要介紹了對(duì)比C語(yǔ)言中g(shù)etc()函數(shù)和ungetc()函數(shù)的使用,是C語(yǔ)言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-08-08
史上最強(qiáng)C語(yǔ)言分支和循環(huán)教程詳解
這篇文章主要介紹了史上最強(qiáng)C語(yǔ)言分支和循環(huán)教程詳解,本文通過(guò)代碼演示給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11
c語(yǔ)言與c++基礎(chǔ)知識(shí)點(diǎn)(必看)
下面小編就為大家?guī)?lái)一篇c語(yǔ)言與c++基礎(chǔ)知識(shí)點(diǎn)(必看)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07
C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的掃雷小游戲
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的掃雷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10

