Maison >développement back-end >C++ >Rechercher des mots préfixés par un mot donné dans une phrase donnée

Rechercher des mots préfixés par un mot donné dans une phrase donnée

WBOY
WBOYavant
2023-08-27 20:09:11814parcourir

Rechercher des mots préfixés par un mot donné dans une phrase donnée

Lorsqu'il s'agit de traitement du langage naturel ou d'analyse de texte, vous devez souvent rechercher un mot ou une expression spécifique dans un corps de texte plus vaste. Une tâche courante consiste à trouver tous les mots d’une phrase commençant par un préfixe donné. Dans cet article, nous explorerons comment accomplir cette tâche en utilisant C++.

Algorithme

  • Lisez les phrases et préfixes saisis.

  • Divisez les phrases saisies en mots individuels.

  • Pour chaque mot de la phrase, vérifiez s'il commence par le préfixe donné.

  • Si un mot commence par ce préfixe, ajoutez-le à la liste des mots correspondants.

  • Imprimez la liste des mots correspondants.

Exemple

#include <iostream>
#include <string>
#include <vector>

using namespace std;

int main() {
   string sentence, prefix;
   vector<string> words;
   
   // Read in the input sentence and prefix
   sentence="The quick brown fox jumps over the lazy dog";
   prefix="fox";
   
   // Tokenize the input sentence into individual words
   string word = "";
   for (auto c : sentence) {
      if (c == ' ') {
         words.push_back(word);
         word = "";
      }
      else {
         word += c;
      }
   }
   words.push_back(word);

   // Find all words in the sentence that start with the given prefix
   vector<string> matches;
   for (auto w : words) {
      if (w.substr(0, prefix.length()) == prefix) {
         matches.push_back(w);
      }
   }
   
   // Print the list of matching words
   cout << "Matching words:" << endl;
   for (auto m : matches) {
      cout << m << endl;
   }
   
   return 0;
}

Sortie

Matching words:
fox

Exemple de cas de test

Supposons que nous ayons la phrase d'entrée suivante :

The quick brown fox jumps over the lazy dog

Nous voulons trouver tous les mots commençant par le préfixe « renard ». L'exécution de cette entrée à l'aide du code ci-dessus produira le résultat suivant :

Dans cet exemple, le seul mot de la phrase qui commence par le préfixe « renard » est « renard » lui-même, c'est donc le seul mot imprimé comme correspondance.

Conclusion

Dans le traitement du langage naturel et l'analyse de texte, trouver tous les mots commençant par un préfixe donné dans une phrase est une tâche utile. Nous pouvons facilement accomplir cette tâche en utilisant C++ en tokenisant la phrase d'entrée en mots individuels et en vérifiant si chaque mot correspond à un préfixe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer