Как указать, чтобы метод QString::indexOf не был чувствителен к количеству пробелов между двумя словами?

Я написал исходный код, например:

int main(int argc, char *argv[]) {
    QFile File (directory + "/File");

        if(File.open(QIODevice::ReadOnly | QIODevice::Text))
        {
         QTextStream Stream (&File);
         QString FileText;
           do
            {
      FileText = Stream.readLine();
    QString s = "start";
    QString e = "end   here";
    int start = FileText.indexOf(s, 0, Qt::CaseInsensitive); 
    int end = FileText.indexOf(e, Qt::CaseInsensitive); 

    if(start != -1){ // we found it

        QString y = FileText.mid(start + s.length(), (end - (start + s.length()))); 

        qDebug() << y << (start + s.length()) << (end - (start + s.length()));
    }

}

Моя проблема в том, что int end = FileText.indexOf(e, Qt::CaseInsensitive); with QString e = "конец здесь"; просто найден, когда между словом "конец" и "здесь" ровно три пробела. Это проблематично, потому что в тексте, который я читаю, пробелы между этими двумя словами наверняка время от времени будут различаться. Кроме того, мне нужно написать оба слова «конец» и «здесь». Я попытался свести проблему к основе и надеюсь, что у кого-то есть идея/решение.

0
задан Streight 8 March 2012 в 18:43
поделиться