QStringList 继承自 QList
1、bool contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive)
如果列表包含字符串 str,则返回 true。
- Qt::CaseInsensitive:不区分大小写。
- Qt::CaseSensitive:区分大小写。
2、QStringList filter(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive)
返回包含子字符串 str 的所有字符串的列表。
QStringList list;
list << "Bill Murray" << "John Doe" << "Bill Clinton";
QStringList result;
result = list.filter("Bill");// result: ["Bill Murray", "Bill Clinton"]
等同于:
QStringList result;
foreach (const QString &str, list) {
if (str.contains("Bill"))
result += str;
}
3、qsizetype indexOf(const QRegularExpression &re, qsizetype from = 0)
返回列表中 re 的第一个完全匹配的索引位置,从索引位置开始向前搜索。 如果没有匹配项,则返回 -1。
qsizetype lastIndexOf(const QRegularExpression &re, qsizetype from = -1)
返回列表中 re 的最后一个完全匹配的索引位置,从索引位置开始向后搜索。 如果 from 是 -1(默认值),则搜索从最后一项开始。如果没有匹配项,则返回 -1。
4、QString join(QChar separator)
有多个参数类型不同的重载版本。
将所有字符串列表的字符串连接成一个字符串,每个元素由给定的分隔符(可以是空字符串)分隔。
5、qsizetype removeDuplicates() 【实用】
此函数从列表中删除重复的条目。条目不必排序。它们将保留原来的顺序。
返回已删除条目的数量。
6、QStringList & replaceInStrings(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
QStringList & replaceInStrings(const QRegularExpression &re, const QString &after)
返回一个字符串列表,其中每个字符串都将之前的文本替换为之后的文本。
QStringList list;
list << "alpha" << "beta" << "gamma" << "epsilon";
list.replaceInStrings("a", "o"); // list == ["olpho", "beto", "gommo", "epsilon"]
QStringList list;
list << "alpha" << "beta" << "gamma" << "epsilon";
list.replaceInStrings(QRegularExpression("^a"), "o"); // list == ["olpha", "beta", "gamma", "epsilon"]
7、void sort(Qt::CaseSensitivity cs = Qt::CaseSensitive)
按升序对字符串列表进行排序。
使用 STL 的 std::sort() 算法执行排序,该算法平均线性对数时间,即 O(n log n)。