StringSplit

Reçoit les sous-chaînes selon un séparateur spécifié de la chaîne indiquée et rend le nombre de sous-chaînes reçus.

int  StringSplit(
   const string   string_value,       // la chaîne pour la recherche des sous-chaînes
   const ushort   separator,          // le séparateur, à l'aide duquel les sous-chaînes seront recherchés dans la chaîne
   string         & result[]          // le tableau transmis selon le lien pour la réception des sous-chaînes trouvés
   );

Paramètres

string_value

[in]  La chaîne d'où il faut recevoir les sous-chaînes. La chaîne elle-même ne change pas.

pos

[in]  Le code du symbole du séparateur. Pour recevoir le code, vous pouvez utiliser la fonction StringGetCharacter().

result[]

[out]  Le tableau des chaînes, où se placent les sous-chaînes reçus.

La valeur rendue

Le nombre de chaînes réçues dans le tableau result[]. Si le séparateur dans la chaîne transmise n'est pas trouvée, alors seulement une chaîne initiale sera placée au tableau.

Si la chaîne string_value est vide ou NULL, la fonction rendra le zéro. Dans le cas de l'erreur, la fonction rendra -1. Pour recevoir le codede l'erreur il faut appeler la fonction GetLastError().

Exemple:

string to_split="_maman_a lavé_la fenêtre_"// la chaîne pour se diviser en sous-chaînes
   string sep="_";                           // le séparateur comme le symbole
   ushort u_sep;                             // le code du symbole du séparateur
   string result[];                          // le tableau pour recevoir les chaînes
   //--- recevrons le code du séparateur
   u_sep=StringGetCharacter(sep,0);
   //--- divisons la chaîne en sous-chaînes
   int k=StringSplit(to_split,u_sep,result);
   //--- déduisons le commentaire
   PrintFormat("On a reçu le nombre de chaînes: %d. On a utilisé le séparateur '%s' avec le code %d",k,sep,u_sep);
   //--- maintenant nous déduisons toutes les chaînes reçues
   if(k>0)
     {
      for(int i=0;i<k;i++)
        {
         PrintFormat("result[%d]=\"%s\"",i,result[i]);
        }
     }

Voir aussi

StringReplace(), StringSubstr(), StringConcatenate()