qstring的比较函数
QString是Qt库中的一个类,用于处理字符串。作为一种常用的数据类型,字符串的比较操作非常重要,QString也提供了多种比较函数供我们使用。
QString的比较函数可以分为以下几类:
1.字符串比较
字符串比较是指比较两个字符串的大小关系,判断它们是否相等、大小关系等,QString提供的字符串比较函数有以下几个:
- bool operator==(const QString &other) const:判断是否相等,返回值为true表示相等,否则返回false。
- bool operator!=(const QString &other) const:判断是否不相等,返回值为true表示不相等,否则返回false。
- bool operator>(const QString &other) const:判断是否大于,返回值为true表示大于,否
则返回false。
- bool operator>=(const QString &other) const:判断是否大于等于,返回值为true表示大于等于,否则返回false。
- bool operator<(const QString &other) const:判断是否小于,返回值为true表示小于,否则返回false。
- bool operator<=(const QString &other) const:判断是否小于等于,返回值为true表示小于等于,否则返回false。
这些比较函数操作符都是运算符重载,返回值为bool类型。它们都是基于Unicode字符编码对字符串进行比较,比较的是字符串中的每一个字符的编码值。
2.字符串无大小写比较
在有些场合下,我们需要进行字符串比较时不考虑大小写,而是将它们视为相同的字符串。QString提供了以下函数实现无大小写比较:
-
bool operator==(const QStringRef &other) const:判断是否相等,返回值为true表示相等,否则返回false。
- bool operator==(const QLatin1String &other) const:判断是否相等,返回值为true表示相等,否则返回false。
- bool operator==(QLatin1StringView other) const:判断是否相等,返回值为true表示相等,否则返回false。
- bool operator==(const char *other) const:判断是否相等,返回值为true表示相等,否则返回false。
- bool operator==(QChar other) const:判断是否相等,返回值为true表示相等,否则返回false。
- int compare(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const:比较两个字符串的大小关系,返回值为0表示相等,否则返回一个整数,判断大小关系。
-
int compare(const QLatin1String &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const:比较两个字符串的大小关系,返回值为0表示相等,否则返回一个整数,判断大小关系。
- int compare(QLatin1StringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const:比较两个字符串的大小关系,返回值为0表示相等,否则返回一个整数,判断大小关系。
- int compare(const char *s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const:比较两个字符串的大小关系,返回值为0表示相等,否则返回一个整数,判断大小关系。
- int compare(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const:比较两个字符串的大小关系,返回值为0表示相等,否则返回一个整数,判断大小关系。
compare()函数可以比较两个字符串的大小关系,同时支持一个可选参数Qt::CaseSensitivity,用于控制大小写敏感性。
3.字符串空白比较
有时候,我们需要比较两个字符串,但是并不关心空白字符(如空格、制表符、换行符、回车符等)。这时,QString提供了以下函数来进行空白比较:
- bool contains(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const:判断是否包含指定的字符串,返回值为true表示包含,否则返回false。
- bool contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const:判断是否包含指定的字符串,返回值为true表示包含,否则返回false。
- bool contains(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const:判断是否包含指定的字符,返回值为true表示包含,否则返回false。
- bool startsWith(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const:判断是否以指定的字符串开头,返回值为true表示是,否则返回false。
- bool startsWith(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const:判断是否以指定的字符串开头,返回值为true表示是,否则返回false。
字符串比较函数实现- bool startsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const:判断是否以指定的字符开头,返回值为true表示是,否则返回false。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。