Объявление indexOf для QString выглядит следующим образом:
int QString::indexOf ( const QString & str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive ) const
Если вы посмотрите, вы увидите, что есть еще один параметр, который вы используете при вызове indexOf.Это связано с тем, что оно имеет значение по умолчанию и является аргументом:
int from = 0
Это значение по умолчанию установлено равным 0, так что всякий раз, когда вы пропускаете это значение, поиск выполняется с начала строки, новы можете установить его значение на индекс, где вы нашли слово «начало», вот так:
int start = x.indexOf(s, 0, Qt::CaseInsensitive);
int end = x.indexOf(e, start, Qt::CaseInsensitive); //notice the use of start as the 'from' argument
Таким образом, вы получите индекс первого слова «конец», которое следует послеслово «старт».Надеюсь, это поможет!