Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Alexandre
"Marc Polidoro" a écrit dans le message de news: dfq1n6$3r5$
Bonjour, Je recherche un code de la fonction split() comme dans "awk" ou "perl" Ou pourrais trouver cela SVP Merci pour ceux qui ne connaissent ni awk ni perl à fond, qu'est-ce que cette
fonction est sensée faire ?
"Marc Polidoro" <marc.polidoro@cegetel.net> a écrit dans le message de news:
dfq1n6$3r5$1@aphrodite.grec.isp.9tel.net...
Bonjour,
Je recherche un code de la fonction split() comme dans "awk" ou "perl"
Ou pourrais trouver cela SVP
Merci
pour ceux qui ne connaissent ni awk ni perl à fond, qu'est-ce que cette
"Marc Polidoro" a écrit dans le message de news: dfq1n6$3r5$
Bonjour, Je recherche un code de la fonction split() comme dans "awk" ou "perl" Ou pourrais trouver cela SVP Merci pour ceux qui ne connaissent ni awk ni perl à fond, qu'est-ce que cette
fonction est sensée faire ?
Marc Polidoro
Bonsoir ci-joint un extrait des doc respectives (je n'ai pas eu le courage de traduire excuse moi !!!)
Pour awk : n = split(string, array, regexp) splits string into fields. regexp is a regular expression giving the field separator string for the purposes of this operation. This function assigns the separate fields, in order, to the elements of array; subscripts for array begin at 1. awk discards all other elements of array. split returns the number of fields into which it divided string (which is also the maximum subscript for array). regexp divides the record in the same way that the FS field separator string does. If you omit regexp in the call to split, it uses the current value of FS.
Pour Perl split /PATTERN/,EXPR,LIMIT
split /PATTERN/,EXPR
split /PATTERN/
split
Splits the string EXPR into a list of strings and returns that list. By default, empty leading fields are preserved, and empty trailing ones are deleted. (If all fields are empty, they are considered to be trailing.) In scalar context, returns the number of fields found and splits into the @_ array. Use of split in scalar context is deprecated, however, because it clobbers your subroutine arguments.
If EXPR is omitted, splits the $_ string. If PATTERN is also omitted, splits on whitespace (after skipping any leading whitespace). Anything matching PATTERN is taken to be a delimiter separating the fields. (Note that the delimiter may be longer than one character.)
If LIMIT is specified and positive, it represents the maximum number of fields the EXPR will be split into, though the actual number of fields returned depends on the number of times PATTERN matches within EXPR. If LIMIT is unspecified or zero, trailing null fields are stripped (which potential users of pop would do well to remember). If LIMIT is negative, it is treated as if an arbitrarily large LIMIT had been specified. Note that splitting an EXPR that evaluates to the empty string always returns the empty list, regardless of the LIMIT specified.
A pattern matching the null string (not to be confused with a null pattern //, which is just one member of the set of patterns matching a null string) will split the value of EXPR into separate characters at each point it matches that way. For example:
print join(':', split(/ */, 'hi there'));produces the output 'h:i:t:h:e:r:e'.
"Alexandre" a écrit dans le message de news: 4325cc59$0$23661$
"Marc Polidoro" a écrit dans le message de news: dfq1n6$3r5$
Bonjour, Je recherche un code de la fonction split() comme dans "awk" ou "perl" Ou pourrais trouver cela SVP Merci pour ceux qui ne connaissent ni awk ni perl à fond, qu'est-ce que cette
fonction est sensée faire ?
Bonsoir ci-joint un extrait des doc respectives (je n'ai pas eu le courage
de traduire excuse moi !!!)
Pour awk :
n = split(string, array, regexp)
splits string into fields. regexp is a regular expression giving the field
separator string for the purposes of this operation. This function assigns
the separate fields, in order, to the elements of array; subscripts for
array begin at 1. awk discards all other elements of array. split returns
the number of fields into which it divided string (which is also the maximum
subscript for array). regexp divides the record in the same way that the FS
field separator string does. If you omit regexp in the call to split, it
uses the current value of FS.
Pour Perl
split /PATTERN/,EXPR,LIMIT
split /PATTERN/,EXPR
split /PATTERN/
split
Splits the string EXPR into a list of strings and returns that list. By
default, empty leading fields are preserved, and empty trailing ones are
deleted. (If all fields are empty, they are considered to be trailing.)
In scalar context, returns the number of fields found and splits into the @_
array. Use of split in scalar context is deprecated, however, because it
clobbers your subroutine arguments.
If EXPR is omitted, splits the $_ string. If PATTERN is also omitted, splits
on whitespace (after skipping any leading whitespace). Anything matching
PATTERN is taken to be a delimiter separating the fields. (Note that the
delimiter may be longer than one character.)
If LIMIT is specified and positive, it represents the maximum number of
fields the EXPR will be split into, though the actual number of fields
returned depends on the number of times PATTERN matches within EXPR. If
LIMIT is unspecified or zero, trailing null fields are stripped (which
potential users of pop would do well to remember). If LIMIT is negative, it
is treated as if an arbitrarily large LIMIT had been specified. Note that
splitting an EXPR that evaluates to the empty string always returns the
empty list, regardless of the LIMIT specified.
A pattern matching the null string (not to be confused with a null pattern
//, which is just one member of the set of patterns matching a null string)
will split the value of EXPR into separate characters at each point it
matches that way. For example:
print join(':', split(/ */, 'hi there'));produces the output
'h:i:t:h:e:r:e'.
"Alexandre" <alex.g@netcourrier.com> a écrit dans le message de news:
4325cc59$0$23661$636a15ce@news.free.fr...
"Marc Polidoro" <marc.polidoro@cegetel.net> a écrit dans le message de
news: dfq1n6$3r5$1@aphrodite.grec.isp.9tel.net...
Bonjour,
Je recherche un code de la fonction split() comme dans "awk" ou "perl"
Ou pourrais trouver cela SVP
Merci
pour ceux qui ne connaissent ni awk ni perl à fond, qu'est-ce que cette
Bonsoir ci-joint un extrait des doc respectives (je n'ai pas eu le courage de traduire excuse moi !!!)
Pour awk : n = split(string, array, regexp) splits string into fields. regexp is a regular expression giving the field separator string for the purposes of this operation. This function assigns the separate fields, in order, to the elements of array; subscripts for array begin at 1. awk discards all other elements of array. split returns the number of fields into which it divided string (which is also the maximum subscript for array). regexp divides the record in the same way that the FS field separator string does. If you omit regexp in the call to split, it uses the current value of FS.
Pour Perl split /PATTERN/,EXPR,LIMIT
split /PATTERN/,EXPR
split /PATTERN/
split
Splits the string EXPR into a list of strings and returns that list. By default, empty leading fields are preserved, and empty trailing ones are deleted. (If all fields are empty, they are considered to be trailing.) In scalar context, returns the number of fields found and splits into the @_ array. Use of split in scalar context is deprecated, however, because it clobbers your subroutine arguments.
If EXPR is omitted, splits the $_ string. If PATTERN is also omitted, splits on whitespace (after skipping any leading whitespace). Anything matching PATTERN is taken to be a delimiter separating the fields. (Note that the delimiter may be longer than one character.)
If LIMIT is specified and positive, it represents the maximum number of fields the EXPR will be split into, though the actual number of fields returned depends on the number of times PATTERN matches within EXPR. If LIMIT is unspecified or zero, trailing null fields are stripped (which potential users of pop would do well to remember). If LIMIT is negative, it is treated as if an arbitrarily large LIMIT had been specified. Note that splitting an EXPR that evaluates to the empty string always returns the empty list, regardless of the LIMIT specified.
A pattern matching the null string (not to be confused with a null pattern //, which is just one member of the set of patterns matching a null string) will split the value of EXPR into separate characters at each point it matches that way. For example:
print join(':', split(/ */, 'hi there'));produces the output 'h:i:t:h:e:r:e'.
"Alexandre" a écrit dans le message de news: 4325cc59$0$23661$
"Marc Polidoro" a écrit dans le message de news: dfq1n6$3r5$
Bonjour, Je recherche un code de la fonction split() comme dans "awk" ou "perl" Ou pourrais trouver cela SVP Merci pour ceux qui ne connaissent ni awk ni perl à fond, qu'est-ce que cette
fonction est sensée faire ?
kanze
Marc Polidoro wrote:
Je recherche un code de la fonction split() comme dans "awk" ou "perl" Ou pourrais trouver cela SVP
Plusieurs possibilités :
-- Dans la passée, j'avais une classe FieldArray, qui prenait un std::string, et créer un std::vector< std::string >. Les dernières versions utilisaient le modèle stratégie pour déterminer comment découper la chaîne.
Pour l'instant, malheureusement, je n'ai pas de site Web, ce qui veut dire que mon code n'est pas facilement disponible, au moins qu'un site ailleurs en offre une copie. (J'avais espéré cet été, mais je n'y suis pas arrivé.)
-- La bibliothèque OSE a une classe OTC_Record, qui fait à peu près la même chose. Le seul problème éventuel, c'est que OSE n'a pas encore été adapté à la bibliothèque standard ; il utilise ses propres itérateurs et sa propre chaîne de caractères. (En revanche, c'est une très belle bibliothèque, bien supérieur à la STL à maints égards.)
-- Boost a une classe tokenizer. Je ne m'en suis pas encore servi, mais d'après la documentation, elle a l'air moins souple que ma classe (qui permet des expressions rationnelles pour définir les separateurs). Comme mes classes, elle a l'air d'utiliser le modèle stratégie (avec la stragégie choisie par paramètre de template, donc lors de la compilation, plutôt qu'à l'exécution). Ça veut dire qu'il ne doit pas être trop difficile à ajouter des stratégies, selon tes besoins.
Étant donné que mes classes ne sont pas disponibles pour l'instant, je crois que la meilleur solution serait Boost, malgré sa manque de souplesse.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Marc Polidoro wrote:
Je recherche un code de la fonction split() comme dans "awk"
ou "perl" Ou pourrais trouver cela SVP
Plusieurs possibilités :
-- Dans la passée, j'avais une classe FieldArray, qui prenait
un std::string, et créer un std::vector< std::string >. Les
dernières versions utilisaient le modèle stratégie pour
déterminer comment découper la chaîne.
Pour l'instant, malheureusement, je n'ai pas de site Web, ce
qui veut dire que mon code n'est pas facilement disponible,
au moins qu'un site ailleurs en offre une copie. (J'avais
espéré cet été, mais je n'y suis pas arrivé.)
-- La bibliothèque OSE a une classe OTC_Record, qui fait à peu
près la même chose. Le seul problème éventuel, c'est que OSE
n'a pas encore été adapté à la bibliothèque standard ; il
utilise ses propres itérateurs et sa propre chaîne de
caractères. (En revanche, c'est une très belle bibliothèque,
bien supérieur à la STL à maints égards.)
-- Boost a une classe tokenizer. Je ne m'en suis pas encore
servi, mais d'après la documentation, elle a l'air moins
souple que ma classe (qui permet des expressions
rationnelles pour définir les separateurs). Comme mes
classes, elle a l'air d'utiliser le modèle stratégie (avec
la stragégie choisie par paramètre de template, donc lors de
la compilation, plutôt qu'à l'exécution). Ça veut dire qu'il
ne doit pas être trop difficile à ajouter des stratégies,
selon tes besoins.
Étant donné que mes classes ne sont pas disponibles pour
l'instant, je crois que la meilleur solution serait Boost,
malgré sa manque de souplesse.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Je recherche un code de la fonction split() comme dans "awk" ou "perl" Ou pourrais trouver cela SVP
Plusieurs possibilités :
-- Dans la passée, j'avais une classe FieldArray, qui prenait un std::string, et créer un std::vector< std::string >. Les dernières versions utilisaient le modèle stratégie pour déterminer comment découper la chaîne.
Pour l'instant, malheureusement, je n'ai pas de site Web, ce qui veut dire que mon code n'est pas facilement disponible, au moins qu'un site ailleurs en offre une copie. (J'avais espéré cet été, mais je n'y suis pas arrivé.)
-- La bibliothèque OSE a une classe OTC_Record, qui fait à peu près la même chose. Le seul problème éventuel, c'est que OSE n'a pas encore été adapté à la bibliothèque standard ; il utilise ses propres itérateurs et sa propre chaîne de caractères. (En revanche, c'est une très belle bibliothèque, bien supérieur à la STL à maints égards.)
-- Boost a une classe tokenizer. Je ne m'en suis pas encore servi, mais d'après la documentation, elle a l'air moins souple que ma classe (qui permet des expressions rationnelles pour définir les separateurs). Comme mes classes, elle a l'air d'utiliser le modèle stratégie (avec la stragégie choisie par paramètre de template, donc lors de la compilation, plutôt qu'à l'exécution). Ça veut dire qu'il ne doit pas être trop difficile à ajouter des stratégies, selon tes besoins.
Étant donné que mes classes ne sont pas disponibles pour l'instant, je crois que la meilleur solution serait Boost, malgré sa manque de souplesse.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Aurelien Regat-Barrel
Bonjour, Je recherche un code de la fonction split() comme dans "awk" ou "perl" Ou pourrais trouver cela SVP
Je me risque à donner ce lien: http://c.developpez.com/faq/cpp/?page=strings#STRING_tokens
Exemple de boost::tokenizer:
// découpe la chaine avec les séparateurs par défaut void split( const std::string & Msg ) { // utiliser le tokenizer par défaut boost::tokenizer<> tok( Msg );
// itérer la séquence de tokens for ( boost::tokenizer<>::const_iterator i = tok.begin(); i != tok.end(); ++i ) { // afficher chaque token extrait std::cout << *i << 'n'; } }
// découpe la chaine selon les séparateurs donnés void split( const std::string & Msg, const std::string & Separators ) { // typedef pour alléger l'écriture typedef boost::tokenizer<boost::char_separator<char> > my_tok;
// construire le tokenizer personnalisé my_tok tok( Msg, sep );
// itérer la séquence de tokens for ( my_tok::const_iterator i = tok.begin(); i != tok.end(); ++i ) { // afficher chaque token extrait std::cout << *i << 'n'; } }
-- exemple 1 -- mot1 mot2 mot3 mot4 mot5 -- exemple 2 -- mot-compose1 mot,compose2 [mot][compose3] mot compose4 <mot><compose><5>
:-)
-- Aurélien Regat-Barrel
Bonjour,
Je recherche un code de la fonction split() comme dans "awk" ou "perl"
Ou pourrais trouver cela SVP
Je me risque à donner ce lien:
http://c.developpez.com/faq/cpp/?page=strings#STRING_tokens
Exemple de boost::tokenizer:
// découpe la chaine avec les séparateurs par défaut
void split( const std::string & Msg )
{
// utiliser le tokenizer par défaut
boost::tokenizer<> tok( Msg );
// itérer la séquence de tokens
for ( boost::tokenizer<>::const_iterator i = tok.begin();
i != tok.end();
++i )
{
// afficher chaque token extrait
std::cout << *i << 'n';
}
}
// découpe la chaine selon les séparateurs donnés
void split( const std::string & Msg, const std::string & Separators )
{
// typedef pour alléger l'écriture
typedef boost::tokenizer<boost::char_separator<char> > my_tok;
// construire le tokenizer personnalisé
my_tok tok( Msg, sep );
// itérer la séquence de tokens
for ( my_tok::const_iterator i = tok.begin();
i != tok.end();
++i )
{
// afficher chaque token extrait
std::cout << *i << 'n';
}
}
Bonjour, Je recherche un code de la fonction split() comme dans "awk" ou "perl" Ou pourrais trouver cela SVP
Je me risque à donner ce lien: http://c.developpez.com/faq/cpp/?page=strings#STRING_tokens
Exemple de boost::tokenizer:
// découpe la chaine avec les séparateurs par défaut void split( const std::string & Msg ) { // utiliser le tokenizer par défaut boost::tokenizer<> tok( Msg );
// itérer la séquence de tokens for ( boost::tokenizer<>::const_iterator i = tok.begin(); i != tok.end(); ++i ) { // afficher chaque token extrait std::cout << *i << 'n'; } }
// découpe la chaine selon les séparateurs donnés void split( const std::string & Msg, const std::string & Separators ) { // typedef pour alléger l'écriture typedef boost::tokenizer<boost::char_separator<char> > my_tok;
// construire le tokenizer personnalisé my_tok tok( Msg, sep );
// itérer la séquence de tokens for ( my_tok::const_iterator i = tok.begin(); i != tok.end(); ++i ) { // afficher chaque token extrait std::cout << *i << 'n'; } }