2023年10月29日,周日晚上
QString怎么判断是否含有某一字符串?
比如我想知道QString中是否含有"connectToHost error"
要判断一个 QString 是否包含特定的子字符串,可以使用 QString
类的 contains()
方法。
下面是使用 contains()
方法来判断一个 QString 是否包含特定子字符串的示例:
cpp
QString str = "connectToHost error";
QString subStr = "connectToHost error";
if (str.contains(subStr)) {
// 包含指定的子字符串
qDebug() << "String contains the substring";
} else {
// 不包含指定的子字符串
qDebug() << "String does not contain the substring";
}
需要注意的是,contains()
方法默认区分大小写,如果你想进行大小写不敏感的判断,可以使用重载的 contains()
方法,并传递一个 Qt::CaseInsensitive
参数:
cpp
QString str = "ConnectToHost error";
QString subStr = "connecttohost error";
if (str.contains(subStr, Qt::CaseInsensitive)) {
// 包含指定的子字符串(不区分大小写)
qDebug() << "String contains the substring (case-insensitive)";
} else {
// 不包含指定的子字符串
qDebug() << "String does not contain the substring (case-insensitive)";
}
在这个示例中,使用重载的 contains()
方法,并传递了 Qt::CaseInsensitive
参数,以进行大小写不敏感的判断。这样,不论子字符串的大小写如何,都会被认为是包含在原字符串中。