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