Précédent   Forum du club des développeurs et IT Pro > C et C++ > Outils pour C & C++ > Visual C++ > C++/CLI
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 15/01/2007, 14h16   #1
nico-pyright(c)
Rédacteur

 
Avatar de nico-pyright(c)
 
Inscription : octobre 2003
Messages : 6 392
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 6 392
Points : 14 861
Points : 14 861
Par défaut FAQ C++/CLI - Commentaires, suggestions

Ci dessous, le lien de la faq dédiée au C++/CLI et à son interaction avec le framework .Net
http://dotnet.developpez.com/faq/cppcli/
nico-pyright(c) est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2008, 19h19   #2
Hemophilius
Nouveau Membre du Club
 
Avatar de Hemophilius
 
Homme David Taralla
Étudiant
Inscription : juin 2008
Messages : 105
Détails du profil
Informations personnelles :
Nom : Homme David Taralla
Âge : 21
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 105
Points : 35
Points : 35
Par défaut Comment récupérer un string situé entre deux autre strings ?

Voilà une petite contribution... Je ne sais pas si elle vous intéresse, mais bon je la propose toujours
Et aussi je la propose ici parce que le titre du sujet c'est "Commentaires et suggestions", donc...

Je l'ai créée et depuis je l'utilise pas mal pour le stockage de donnée dans des fichiers TXT...

[FAQ]
Si vous désirez récupérer un String situé entre deux "balises" différentes ([IT]...[/IT], [GR]...[/GR], ...), utilisez cette fonction :

Code :
1
2
3
4
String ^SubstringFromAToB(String ^Base, String ^Start, String ^End)
{
    return (Base->Substring((Base->IndexOf(Start) + (Start->Length + 1)), ((Base->IndexOf(End)) - (Base->IndexOf(Start) + (Start->Length + 1)))));
}
Exemple :

Code :
1
2
3
4
5
6
7
8
9
String ^s = "[IT]Ce bonjour est entre des balises italiques[/IT][GR] et ceci sera entre des balises gras.[/GR]";
//Définition du String de base
...
String ^PartieItalique = SubstringFromAToB(s, "[IT]", "[/IT]");
//Récupération de la partie en italique, balises non inclues
String ^PartieGras = SubstringFromAToB(s, "[GR]", "[/GR]");
//Récupération de la partie en gras, balises non inclues
this->textBox1->Text = "Texte de base : " + s + ", partie en italique : \"" + PartieItalique + "\", partie en gras : \"" + PartieGras + "\".";
//Affiche dans la textBox "Texte de base : [IT]Ce bonjour est entre des balises italiques[/IT][GR] et ceci sera entre des balises gras.[/GR], partie en italique : "Ce bonjour est entre des balises italiques", partie en gras : "et ceci sera entre des balises gras."."
NB : Cette fonction ne peut être utilisée que si il n'y a qu'une occurrence de chacune des balise dans le String de base ('s').

========================================================

Si vous désirez récupérer un String situé entre deux "balises" identiques (GRAS...GRAS, ITALIQUE...ITALIQUE, ...), utilisez cette fonction :

Code :
1
2
3
4
String ^SubstringFromAToA(String ^Base, String ^StartEnd)
{
    return (Base->Substring((Base->IndexOf(StartEnd) + (StartEnd->Length + 1)), ((Base->LastIndexOf(StartEnd)) - (Base->IndexOf(StartEnd) + StartEnd->Length + 1))));
}
Exemple :

Code :
1
2
3
4
5
6
7
8
9
String ^s = "ITALIQUECe bonjour est entre des balises italiquesITALIQUEGRAS et ceci sera entre des balises gras.GRAS";
//Définition du String de base
...
String ^PartieItalique = SubstringFromAToA(s, "ITALIQUE");
//Récupération de la partie en italique, balises non inclues
String ^PartieGras = SubstringFromAToA(s, "GRAS");
//Récupération de la partie en gras, balises non inclues
this->textBox1->Text = "Texte de base : " + s + ", partie en italique : \"" + PartieItalique + "\", partie en gras : \"" + PartieGras + "\".";
//Affiche dans la textBox "Texte de base : ITALIQUECe bonjour est entre des balises italiquesITALIQUEGRAS et ceci sera entre des balises gras.GRAS, partie en italique : "Ce bonjour est entre des balises italiques", partie en gras : "et ceci sera entre des balises gras."."
NB : Cette fonction ne peut être utilisée que si il n'y a que deux occurrences de cette balise dans le String de base.
[/FAQ]
Hemophilius est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h43.


 
 
 
 
Partenaires

Hébergement Web