indexOf() 是 QString 类中的一个成员函数,用于在字符串中查找指定子字符串的第一次出现的位置

indexOf()QString 类中的一个成员函数,用于在字符串中查找指定子字符串的第一次出现的位置。

indexOf() 函数有多个重载形式,可以按照不同的参数类型和选项进行查找。以下是一些常见的用法:

  1. 查找子字符串的第一次出现:

    QString str = "Hello, World!";
    int index = str.indexOf("World");  // 返回 7
    
  2. 指定起始位置查找子字符串的第一次出现:

    QString str = "Hello, World!";
    int index = str.indexOf("o", 5);  // 从索引位置 5 开始查找,返回 8
    
  3. 指定搜索方向查找子字符串的第一次出现:

    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]!”,其中每个字母都带有对应的索引值。

猜你喜欢

转载自blog.csdn.net/m0_46376834/article/details/134910144