2011-07-19 6 views
3

J'essaie d'extraire une chaîne entre deux modèles d'une autre chaîne en C++.Comment extraire une chaîne d'un motif à un autre?

Exemple d'entrée: "C++ est pas facile"

Pattern1: "C++"

Pattern2: "que"

Résultat: "est pas"

Je voudrais boucler cette opération pour extraire toutes les chaînes correspondantes du fichier binaire plus tard.

+1

Qu'avez-vous fait jusqu'à présent? –

+0

En fait, j'ai trouvé une petite application qui fait exactement ce que je voulais mais merci quand même, les gars! –

Répondre

4

La meilleure façon d'y parvenir est d'utiliser des expressions régulières.

Vous pouvez en lire davantage here

+1

C'est très bien si vous utilisez .NET. Pour le C++ standard, il y a soit Boost.Regex, soit la bibliothèque regex C++ 0x. –

+1

Il y a un lien dans la page pour les solutions non-net. Mais merci pour la clarification :) –

1

Vous pouvez utiliser string::find() pour trouver la position de chaque motif à l'intérieur de l'entrée, string::length() pour trouver la position finale du premier motif (depuis find() donne le début), puis string::substr() pour extraire la sous-chaîne entre ces positions.

Questions connexes