2010-03-14 7 views
1

J'ai un fichier texte avec des informations textuelles et je dois diviser ce texte en espaces et tous les mots doivent être insérés dans la liste.Séparer le texte par des espaces blancs

-je faire si:

QStringList list = line.split(" "); 

    for (int i = 0; i < list.count(); i++){ 

     table.push_back(list[i]); 
     this->ui->textEdit->setText(list[i]); 
    } 

ligne i ont mon texte. Mais quand je teste ce code, je reçois tout le texte, mais pas par le mot.

Merci.

+1

S'il vous plaît poster un exemple de texte d'entrée avec la sortie attendue et acutal. De cette façon, nous pouvons voir exactement ce que vous voulez dire :) –

+0

ligne est un droit QString? – NomeN

Répondre

12

Essayez avec:

line.split(QRegExp("\\s")); 
+0

Thnak vous c'est du travail! – 0xAX

1

istream sera déjà divisé selon les espaces. Donc, un moyen facile de le faire est

std::istream & txttosplit=X;///X is istringstream, or ifstream, or cin, etc 
std::vector<std::string> words; 
std::copy(std::istream_iterator<std::string>(txttosplit), 
      std::istream_iterator<std::string>(), 
      std::back_inserter(words)); 
+1

+1: Mais OS a demandé une liste pas un vecteur. –

Questions connexes