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中的应用程序输出窗口看到输出结果了。

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