QT QString 找字串
时间: 2024-04-22 19:28:11 浏览: 183
在 Qt 中,可以使用 `QString` 类的 `indexOf()` 或 `contains()` 函数来查找子字符串。
`indexOf()` 函数返回第一个匹配子字符串的索引位置,如果没有找到匹配的子字符串,则返回 -1。`contains()` 函数返回一个布尔值,指示字符串是否包含子字符串。
下面是一个示例代码:
```cpp
#include <iostream>
#include <QString>
int main() {
QString str = "Hello, World!";
QString subStr = "World";
int index = str.indexOf(subStr);
if (index != -1) {
std::cout << "Substring found at index: " << index << std::endl;
} else {
std::cout << "Substring not found." << std::endl;
}
if (str.contains(subStr)) {
std::cout << "Substring found." << std::endl;
} else {
std::cout << "Substring not found." << std::endl;
}
return 0;
}
```
输出结果为:
```
Substring found at index: 7
Substring found.
```
在上述示例中,我们创建了一个 `QString` 对象 `str`,并使用 `indexOf()` 函数来查找子字符串 `"World"` 的索引位置。由于子字符串存在于原始字符串中,所以输出结果显示子字符串的索引位置为 7。然后,我们使用 `contains()` 函数来检查原始字符串是否包含子字符串,并输出相应的结果。
请注意,`indexOf()` 和 `contains()` 函数都是区分大小写的。如果需要执行大小写不敏感的搜索,可以使用 `indexOf()` 函数的重载版本 `indexOf(const QString& str, Qt::CaseSensitivity cs)`,并将 `cs` 参数设置为 `Qt::CaseInsensitive`。
阅读全文