indexOf()
是 QString
类中的一个成员函数,用于在字符串中查找指定子字符串的第一次出现的位置。
indexOf()
函数有多个重载形式,可以按照不同的参数类型和选项进行查找。以下是一些常见的用法:
-
查找子字符串的第一次出现:
QString str = "Hello, World!"; int index = str.indexOf("World"); // 返回 7
-
指定起始位置查找子字符串的第一次出现:
QString str = "Hello, World!"; int index = str.indexOf("o", 5); // 从索引位置 5 开始查找,返回 8
-
指定搜索方向查找子字符串的第一次出现:
QString str = "Hello, World!"; int index = str.indexOf("l", -1, Qt::CaseInsensitive); // 从末尾向前忽略大小写查找,返回 9
需要注意的是,indexOf()
函数返回找到的子字符串的索引值,如果未找到,则返回 -1。还可以使用 lastIndexOf()
函数来查找最后一次出现的位置。
另外,indexOf()
函数还有其他重载形式,例如接受正则表达式作为参数、指定比较选项等。你可以根据具体的需求选择合适的重载形式。
每个字母的索引标记出来
如果你想要将字符串中每个字母的索引标记出来,可以使用循环遍历字符串,并在每个字符后面添加其对应的索引值。
以下是一个示例代码,演示了如何标记字符串中每个字母的索引:
#include <QString>
#include <QDebug>
int main() {
QString str = "Hello, World!";
QString markedStr;
for (int i = 0; i < str.length(); i++) {
markedStr += str[i] + QString("[%1]").arg(i);
}
qDebug() << markedStr;
return 0;
}
在这个示例中,我们首先定义了字符串 str
,内容为 “Hello, World!”。然后,我们创建了一个空字符串 markedStr
,用于存储带有索引标记的字符串。
接下来,我们使用循环遍历字符串 str
,通过拼接操作将每个字符和其对应的索引值添加到 markedStr
中。在每个字符后面,我们使用 QString::arg()
函数将索引值插入到方括号内。
最后,我们使用 qDebug()
打印输出带有索引标记的字符串 markedStr
。
运行以上示例代码,输出结果为: “H[0]e[1]l[2]l[3]o[4],[5] [6]W[7]o[8]r[9]l[10]d[11]!”,其中每个字母都带有对应的索引值。