QT---之QStringList類常用方法
從QList <QString>繼承而來,它提供快速索引為基礎的接入以及快速插入和清除
其成員函式用於操作這個字串列表如
append(),insert(), replace(), removeAll(), removeAt(), removeFirst(), removeLast(), and removeOne()等
1. 增加字串
可以通過append(),或使用<<,如
QStringList fonts;
fonts << "Arial" << "Helvetica" << "Times" << "Courier";
// fonts:[ "Arial" ,"Helvetica", "Times" , "Courier"]
2. 合併字串使用join( )
QString str = fonts.join(",");
// str == "Arial,Helvetica,Times,Courier"
3. 拆分字串
QString str = " Arial,Helvetica, ,Times,Courier ";
QStringList list1 = str.split(",");
// list1: [ " Arial ", " Helvetica ",” “, " Times ", " Courier " ]
QStringList list2 = str.split(",", QString::SkipEmptyParts);
// list2: [ " Arial ", " Helvetica ", " Times ", " Courier " ]
也就是說如果有QString::SkipEmptyParts,空項不會出現在結果。預設情況下,空項被保留
4. 索引
IndexOf()函式返回給定字串的第一個出現的索引。
而lastIndexOf()函式,返回字串的最後一次出現的索引。
5. 替換replaceInStrings()
QStringList files;
files << "$QTDIR/src/moc/moc.y"
<< "$QTDIR/src/moc/moc.l"
<< "$QTDIR/include/qconfig.h";
files.replaceInStrings("$QTDIR", "/usr/lib/qt");
// files: [ "/usr/lib/qt/src/moc/moc.y", ...]
6. 過濾filter()
可以讓你提取一個新的列表只包含這些字串包含一個特定的字串(或匹配特定正則表示式):
QStringList list;
list << "Bill Murray" << "John Doe" << "Bill Clinton";
QStringList result;
result = list.filter("Bill");
// result: ["Bill Murray", "Bill Clinton"]
7.遍歷
QList<QString>::Iterator it = user.begin(),itend = user.end();
int i = 0;
for (;it != itend; it++,i++){
if (*it == pFindLine->text()){//找到,高亮顯示
QModelIndex index = model->index(i);
m_pTabList->setCurrentIndex(index);
break;
}
}