QStringListの学習ノート
3474 ワード
会社のプロジェクトのため、QTを学ぶことを始めて、ここはいくつか学习のノートをして、1回の后で忘れて読むことができます.メモの内容が簡単だから、悪くない.参考ブログ:https://blog.csdn.net/u013360881/article/details/52170487
ここではQStringListでQString文字列を追加する、<<で文字列を追加する、JavaにおけるListのadd()メソッドに相当する.
1.文字列append()QStringListを追加するにはappend()または<<を使用してList要素を追加します.
2.文字列insert()文字列insertメソッドを挿入すると、指定したlistの場所に文字列を挿入できます.
最初のパラメータは挿入する位置で、後のパラメータは挿入する値を表します.3.置換文字列replace()replace()メソッドでlistの位置の値を置換できます.
最初のパラメータは置換する場所で、後のパラメータは置換する値を示します.4.削除文字列removeAt()、removeFirst()、removeLast()、and removeOne()メソッドメソッド名に基づいて、メソッドの具体的な役割を推定することができ、実際の必要に応じて対応するメソッドを選択しています.ここでremoveOne()メソッドについて説明します.彼は、特定の値を削除し、パラメータはリストの内容であり、その定義は、bool removeOne(const T&value)であり、戻り値はboolタイプであり、使用例を書きます.
1.連結文字列join()の使用
2.文字列の分割
つまりQString::SkipEmptyPartsがあれば、空のアイテムは結果に現れません.デフォルトでは、空のアイテムは3のままです.インデックスIndexOf()関数は、指定された文字列の最初のインデックスを返します.一方lastIndexOf()関数は、文字列の最後に表示されたインデックスを返します.
4.置換replaceInStrings()
5.フィルタ()をフィルタすると、新しいリストを抽出できます.これらの文字列には、特定の文字列(または特定の正規表現に一致する)のみが含まれます.
QStringListクラスは文字列リストを提供します.QStringListは、QListから継承される.QListと同様に、QStringListは暗黙的に共有される.インデックスベースの迅速なアクセスと、迅速な挿入と削除を提供します.文字列リストを値パラメータとして渡すのは高速で安全です.QListのすべての機能はQStringListにも適用されます.たとえば、isEmpty()を使用してリストが空かどうかをテストできます.append()、prepend()、insert()、replace()、removeAll()、removeAt()、removeFirst()、removeOne()などを呼び出して、QStringListの関数を変更できます.さらに、QStringListは、文字列の処理リストを容易にする便利な関数を提供します.
QStringList初期化
QStringList qstrList;
qstrList<
ここではQStringListでQString文字列を追加する、<<で文字列を追加する、JavaにおけるListのadd()メソッドに相当する.
まずQListの方法を学びましょう
1.文字列append()QStringListを追加するにはappend()または<<を使用してList要素を追加します.
qstrList.append("python");
qstrList << "PHP" ;
2.文字列insert()文字列insertメソッドを挿入すると、指定したlistの場所に文字列を挿入できます.
qstrList.insert(0,"C#");
最初のパラメータは挿入する位置で、後のパラメータは挿入する値を表します.3.置換文字列replace()replace()メソッドでlistの位置の値を置換できます.
qstrList.replace(0,"Web");
最初のパラメータは置換する場所で、後のパラメータは置換する値を示します.4.削除文字列removeAt()、removeFirst()、removeLast()、and removeOne()メソッドメソッド名に基づいて、メソッドの具体的な役割を推定することができ、実際の必要に応じて対応するメソッドを選択しています.ここでremoveOne()メソッドについて説明します.彼は、特定の値を削除し、パラメータはリストの内容であり、その定義は、bool removeOne(const T&value)であり、戻り値はboolタイプであり、使用例を書きます.
bool isflag = qstrList.removeOne("C#");// , true, fasle
qDebug() << isflag << endl;
int n = qstrList.removeAll("Java");// ,
qDebug() << n << endl;
qstrList.removeAt(2);//
qstrList.removeFirst();//
qstrList.removeLast();//
次にQStringListの方法を学びます
1.連結文字列join()の使用
QString str = fonts.join(",");
// str == "Android,Qt Creator,Java,C++"
2.文字列の分割
QString str = "Android,Qt Creator, ,Java,C++";
QStringList list1 = str.split(",");
// list1: [ "Android", "Qt Creator"," ", "Java", "C++" ]
QStringList list2 = str.split(",", QString::SkipEmptyParts);
// list2:[ "Android", "Qt Creator", "Java", "C++" ]
つまりQString::SkipEmptyPartsがあれば、空のアイテムは結果に現れません.デフォルトでは、空のアイテムは3のままです.インデックスIndexOf()関数は、指定された文字列の最初のインデックスを返します.一方lastIndexOf()関数は、文字列の最後に表示されたインデックスを返します.
QStringList qstrList;
qstrList<
4.置換replaceInStrings()
QStringList files;
files << "$file/src/moc/moc.y" << "$file/src/moc/moc.l" << "$file/include/qconfig.h";
files.replaceInStrings("$file", "/usr/file");
// files: [ "/usr/file/src/moc/moc.y", ...]
5.フィルタ()をフィルタすると、新しいリストを抽出できます.これらの文字列には、特定の文字列(または特定の正規表現に一致する)のみが含まれます.
QStringList list;
list << "Bill Murray" << "John Doe" << "Bill Clinton";
QStringList result;
result = list.filter("Bill");
// result: ["Bill Murray", "Bill Clinton"]
//
//Qt::CaseSensitive
//Qt::CaseInSensitive
result = list.filter("bill",Qt::CaseInSensitive);
// result: ["Bill Murray", "Bill Clinton"]
まとめ:
QStringListクラスは文字列リストを提供します.QStringListは、QList