2012-05-25 5 views
1

Я хотел бы пропустить прокомментированные строки в текстовом файле, который я обрабатываю с помощью QStrings.Пропуск комментариев строк с QStrings

Как можно пропустить любую строку, которая начинается с символа «#», например?

Это то, что я в настоящее время:

 QTextStream in(&inputFile); 
    QList<QStringList> lists; 
    QString inputLines; 

    do { 
      inputLines = in.readLine(); 
      lists << inputLines.split("\t"); 

     } while (!inputLines.isNull()); 
      . 
      . 
      . 
+2

Какие функции QString вы пытались использовать, чтобы найти как строка 'startsWith'? –

ответ

2

Просто используйте QString::startsWith(QString) для фильтрации строк перед их обработкой, как в следующем примере:

QStringList lines = ...; 
foreach(QString line, lines) 
{ 
    line = line.trimmed(); // if you want to ignore whitespaces at both ends 
    if(!line.startsWith("#")) 
     processLine(line); 
} 
+0

Я не использовал ваш пример точно так, как есть, но функция startsWith, которую вы и Року предложили, была тем, что мне нужно. Благодаря! –

+0

Если это только один символ, вы также можете написать 'line.length() && line.at (0) == '#'', который может быть немного быстрее (обратите внимание на длину> 0 перед доступом к символу с индексом 0). Но в большинстве случаев это не имеет значения. – leemes

Смежные вопросы