从QString中查找字符串
时间: 2024-10-08 14:08:35 浏览: 21
在C++中,如果你有一个`QString`对象并且想从中查找特定的字符串,可以使用`contains()`函数或`indexOf()`函数。这两个函数都是用来判断原始字符串中是否包含指定的部分。
1. `contains()`函数:这个函数返回一个布尔值,表示字符串是否包含指定的子串。语法如下:
```cpp
bool contains(const QString &strToFind);
```
示例:
```cpp
QString text = "Hello, world!";
bool found = text.contains("world");
```
如果找到,`found`将是`true`,否则为`false`。
2. `indexOf()`函数:这个函数返回子串第一次出现的位置索引,如果没有找到,则返回-1。语法如下:
```cpp
int indexOf(const QString &strToFind, Qt::CaseSensitivity cs = Qt::CaseSensitive);
```
示例:
```cpp
QString text = "Hello, world!";
int position = text.indexOf("world");
```
如果找到,`position`将是6;如果未找到,`position`将是-1。
相关问题
QString 从右减去某个字符串
可以使用 `QString::remove()` 函数来实现从右边减去某个字符串的操作。具体步骤如下:
1. 定位要减去的字符串在原字符串中的位置,可以使用 `QString::lastIndexOf()` 函数来查找该字符串最后一次出现的位置。
2. 调用 `QString::remove()` 函数,将查找到的位置及其后面的部分删除。
以下是一个示例代码:
```cpp
QString str = "Hello World";
QString substr = "World";
int pos = str.lastIndexOf(substr);
if (pos != -1) {
str.remove(pos, substr.length());
}
```
执行上述代码后,`str` 的值将变为 "Hello"。
QString 字符查找
在 Qt 中,可以使用 QString 类的 indexOf() 函数来进行字符查找。其函数原型如下:
```cpp
int indexOf(QChar ch, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
```
其中,ch 表示要查找的字符,from 表示查找的起始位置,默认值为 0,cs 表示查找时是否区分大小写,默认值为 Qt::CaseSensitive。
例如,查找字符串 "hello world" 中第一个字母为 "w" 的位置,可以使用下面的代码:
```cpp
QString str = "hello world";
int index = str.indexOf("w");
```
执行后,index 的值将为 6,表示 "w" 在字符串 "hello world" 中的位置为 6。
如果要查找最后一个字母为某个字符的位置,可以使用 lastIndexOf() 函数,其函数原型与 indexOf() 函数类似。
阅读全文