0028:Qt常用類 - QString(07,子字符串)

1 開發環境

在介紹內容之前,先說明一下開發環境,如下圖:
在這裏插入圖片描述在這裏插入圖片描述
Qt版本:Qt5.3.2;
Qt開發工具:Qt Creater 3.2.1;
Qt構建工具:Desktop Qt 5.3 MinGW 32bit;
Qt開發平臺:Windows 7 64bit。

2 QString

今天介紹QString的子字符串部分的功能,之前的內容可以參考以下鏈接。

0022:Qt常用類 - QString(01,QString的編碼方式和初始化)
0023:Qt常用類 - QString(02,增加)
0024:Qt常用類 - QString(03,刪除)
0025:Qt常用類 - QString(04,修改)
0026:Qt常用類 - QString(05,查詢)
0027:Qt常用類 - QString(06,遍歷)

下面是子字符串部分的示例代碼。

/*
 * left(int n)
 * mid(int position, int n)
 * right(int n)
 * split(const QString &sep, SplitBehavior behavior, Qt::CaseSensitivity cs)
 * split(QChar sep, SplitBehavior behavior, Qt::CaseSensitivity cs)
 */
//left(int n)
//mid(int position, int n)
//right(int n)
QString str1 = "12345一二三四五";
qDebug("str1.left(5) = %s, str1.mid(4, 2) = %s, str1.right(5) = %s.",
       qPrintableU8(str1.left(5)), qPrintableU8(str1.mid(4, 2)), qPrintableU8(str1.right(5)));

//split(const QString &sep, SplitBehavior behavior, Qt::CaseSensitivity cs)
QString str2 = " 1 , 2 , 3 , 4 , 5 ,, 一 , 二 , 三 , 四 , 五 ";
QStringList list2 = str2.split(",", QString::SkipEmptyParts);
QStringList::const_iterator cit = NULL;
int index = 0;
for (cit=list2.cbegin(); cit<list2.cend(); cit++)
{
    qDebug("split(QString), list2[%d] = %s.", index++, qPrintableU8(*cit));
}

//split(QChar sep, SplitBehavior behavior, Qt::CaseSensitivity cs)
list2 = str2.split(QChar(','));
index = 0;
for (cit=list2.cbegin(); cit<list2.cend(); cit++)
{
    qDebug("split(QChar), list2[%d] = %s.", index++, qPrintableU8(*cit));
}

在學習過程中,可以將上述代碼放到一個按鈕的響應函數中,以調試方式運行,就可以在Qt Creater中的應用程序輸出窗口看到輸出結果了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章