📄 qstringlist.cpp
字号:
This is equivalent to \code QStringList result; foreach (QString str, list) { if (str.contains("Bill")) result += str; } \endcode \sa QString::contains()*/QStringList QtPrivate::QStringList_filter(const QStringList *that, const QString &str, Qt::CaseSensitivity cs){ QStringMatcher matcher(str, cs); QStringList res; for (int i = 0; i < that->size(); ++i) if (matcher.indexIn(that->at(i)) != -1) res << that->at(i); return res;}/*! \fn QBool QStringList::contains(const QString &str, Qt::CaseSensitivity cs) const Returns true if the list contains the string \a str; otherwise returns false. Does a case insensitive search if \a cs is Qt::CaseInsensitive; by default, the search is case sensitive. */QBool QtPrivate::QStringList_contains(const QStringList *that, const QString &str, Qt::CaseSensitivity cs){ QStringMatcher matcher(str, cs); for (int i = 0; i < that->size(); ++i) { QString string(that->at(i)); if (string.length() == str.length() && matcher.indexIn(string) == 0) return QBool(true); } return QBool(false);}#ifndef QT_NO_REGEXP/*! \fn QStringList QStringList::filter(const QRegExp &rx) const \overload Returns a list of all the strings that match the regular expression \a rx.*/QStringList QtPrivate::QStringList_filter(const QStringList *that, const QRegExp &rx){ QStringList res; for (int i = 0; i < that->size(); ++i) if (that->at(i).contains(rx)) res << that->at(i); return res;}#endif/*! \fn QStringList &QStringList::replaceInStrings(const QString &before, const QString &after, Qt::CaseSensitivity cs) Returns a string list where every string has had the \a before text replaced with the \a after text wherever the \a before text is found. The \a before text is matched case-sensitively or not depending on the \a cs flag. Example: \code QStringList list; list << "alpha" << "beta" << "gamma" << "epsilon"; list.replace("a", "o"); // list == ["olpho", "beto", "gommo", "epsilon"] \endcode \sa QString::replace()*/void QtPrivate::QStringList_replaceInStrings(QStringList *that, const QString &before, const QString &after, Qt::CaseSensitivity cs){ for (int i = 0; i < that->size(); ++i) (*that)[i].replace(before, after, cs);}#ifndef QT_NO_REGEXP/*! \fn QStringList &QStringList::replaceInStrings(const QRegExp &rx, const QString &after) \overload Replaces every occurrence of the regexp \a rx, in each of the string lists's strings, with \a after. Returns a reference to the string list. Example: \code QStringList list; list << "alpha" << "beta" << "gamma" << "epsilon"; list.replace(QRegExp("^a"), "o"); // list == ["olpha", "beta", "gamma", "epsilon"] \endcode For regular expressions that contain \l{capturing parentheses}, occurrences of \bold{\\1}, \bold{\\2}, ..., in \a after are replaced with \a{rx}.cap(1), \a{rx}.cap(2), ... Example: \code QStringList list; list << "Bill Clinton" << "Murray, Bill"; list.replace(QRegExp("^(.*), (.*)$"), "\\2 \\1"); // list == ["Bill Clinton", "Bill Murray"] \endcode \sa replace()*/void QtPrivate::QStringList_replaceInStrings(QStringList *that, const QRegExp &rx, const QString &after){ for (int i = 0; i < that->size(); ++i) (*that)[i].replace(rx, after);}#endif/*! \fn QString QStringList::join(const QString &sep) const Joins the all the string list's strings into a single string with each element separated by the string \a sep (which can be an empty string). \sa QString::split()*/QString QtPrivate::QStringList_join(const QStringList *that, const QString &sep){ QString res; for (int i = 0; i < that->size(); ++i) { if (i) res += sep; res += that->at(i); } return res;}/*! \fn QStringList QStringList::operator+(const QStringList &other) const Returns a string list that is the concatenation of this string list with the \a other string list. \sa append()*//*! \fn QStringList &QStringList::operator<<(const QString &str) Appends string \a str to the string list and returns a reference to the string list. \sa append()*//*! \fn QStringList &QStringList::operator<<(const QStringList &other) \overload Appends \a other to the string list and returns a reference to the string list.*/#ifndef QT_NO_DATASTREAM/*! \fn QDataStream &operator>>(QDataStream &in, QStringList &list) \relates QStringList Reads a string list from stream \a in into \a list. \sa {Format of the QDataStream operators}*//*! \fn QDataStream &operator<<(QDataStream &out, const QStringList &list) \relates QStringList Writes the string list \a list to stream \a out. \sa {Format of the QDataStream operators}*/#endif // QT_NO_DATASTREAM/*! \fn QStringList QStringList::grep(const QString &str, bool cs = true) const Use find() instead.*//*! \fn QStringList QStringList::grep(const QRegExp &rx) const Use find() instead.*//*! \fn QStringList &QStringList::gres(const QString &before, const QString &after, bool cs = true) Use replace() instead.*//*! \fn QStringList &QStringList::gres(const QRegExp &rx, const QString &after) Use replace() instead.*//*! \fn Iterator QStringList::fromLast() Use end() instead. \oldcode QStringList::Iterator i = list.fromLast(); \newcode QStringList::Iterator i = list.isEmpty() ? list.end() : --list.end(); \endcode*//*! \fn ConstIterator QStringList::fromLast() const Use end() instead. \oldcode QStringList::ConstIterator i = list.fromLast(); \newcode QStringList::ConstIterator i = list.isEmpty() ? list.end() : --list.end(); \endcode*/#ifndef QT_NO_REGEXP/*! \fn int QStringList::indexOf(const QRegExp &rx, int from) const \overload Returns the index position of the first exact match of \a rx in the list, searching forward from index position \a from. Returns -1 if no item matched. \sa lastIndexOf(), QRegExp::exactMatch()*/int QtPrivate::QStringList_indexOf(const QStringList *that, const QRegExp &rx, int from){ if (from < 0) from = qMax(from + that->size(), 0); for (int i = from; i < that->size(); ++i) { if (rx.exactMatch(that->at(i))) return i; } return -1;}/*! \fn int QStringList::lastIndexOf(const QRegExp &rx, int from) const \overload Returns the index position of the last exact match of \a rx in the list, searching backward from index position \a from. If \a from is -1 (the default), the search starts at the last item. Returns -1 if no item matched. \sa indexOf(), QRegExp::exactMatch()*/int QtPrivate::QStringList_lastIndexOf(const QStringList *that, const QRegExp &rx, int from){ if (from < 0) from += that->size(); else if (from >= that->size()) from = that->size() - 1; for (int i = from; i >= 0; --i) { if (rx.exactMatch(that->at(i))) return i; } return -1;}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -