function [token, nToken] = DecodeStr( string, DELIMITER ) % % Retourne les �l�ments d'une chaine de caract�res s�par�s par % un delimiteur (virgule, point-virgule, etc.) % % [Token, nToken] = DecodeStr( String, Delimiter ) % % Input: % string ...... Chaine de caract�res � d�cimer % DELIMITEUR ... Caract�re s�parant les diff�rents �l�ments % de la chaine de caract�res % % Output: % nToken ...... Nombre d'�l�ments distincts, s�par�s par 'Delimiter' % dans la chaine de caract�res 'String' % token ....... Cellule de dimension (nToken, 1) contenant les % diff�rents �ll�ments de la chaine de caract�re % % 5 janvier 2007 % % Modifications % ---------------------------------------------------------------------- % Initialisation de la Cellule % ---------------------------- token = cell(1,1); % Decode le 1er �l�ment de la chaine de caract�re % Celui-ci est renvoye dans la chaine de caracteres 'Str' % tandis que le reste de la chaine est renvoye dans 'Remain' % ---------------------------------------------------------- [str, remain] = strtok( string, DELIMITER); % Boucle sur l'ensemble de la chaine jusqu'a ce que Str soit vide % --------------------------------------------------------------- nToken = 0; while strcmp( str, '' ) ~= 1 % Incremente le compteur d'elements lus % ------------------------------------- nToken = nToken + 1; % Stocke les elements lus dans une Cellule % ---------------------------------------- token(1, nToken) = cellstr(str); % Decode chaque element de la chaine de caractere % ----------------------------------------------- [str, remain] = strtok( remain, DELIMITER); end % Enleve les caracteres blanc de debut et de fin de chaque element % ---------------------------------------------------------------- token = strtrim(token);