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
:arrow: http://dotnet.developpez.com/faq/cppcli/
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]