OVH Cloud OVH Cloud

Chaines et espaces

10 réponses
Avatar
Jerome Presson
Bonjour,

J'essaie sans vraiment de reussite (et meme pas du tout)
de scinder cette chaine "00125 Exemple de chaine" en deux;
Tout ce qui est (le nombre) avant le premier espace
et tout ce qui est apres le premier espace.
Je suis pourtant sur-equipe:
- Introduction Perl,
- Programmation en Perl...
...je pense donc etre sous-equipe en neurones...

Y-aurait-il un genereux donateur?

Jerome

10 réponses

Avatar
Benoit Izac
Bonjour,

le 04/06/2004 à 18:25, Jerome Presson a écrit
dans le message :

J'essaie sans vraiment de reussite (et meme pas du tout)
de scinder cette chaine "00125 Exemple de chaine" en deux;
Tout ce qui est (le nombre) avant le premier espace


^S* -> différent d'un espace
^d* -> un nombre réel décimal sans signe

et tout ce qui est apres le premier espace.


.*$

ce qui donne :
if ($chaine =~ m/^(S*)s+(.*)$/) {
$nombre = $1;
$reste = $2;
}

ou
if ($chaine =~ m/^(d*)s+(.*)$/) {...


Je suis pourtant sur-equipe:
- Introduction Perl,
- Programmation en Perl...


Encore faut-il les lire... ;-)

--
Benoit Izac

Avatar
Laurent Wacrenier
Benoit Izac écrit:

^d* -> un nombre réel décimal sans signe


Tu veux dire un nombre décimal ? Heu non, un nombre est composé d'au
moine un chiffre et d'autre part d ne vérifie pas le séparateur
décimal ("." en anglais ou en perl et "," en français)

Avatar
Benoit Izac
Bonjour,

le 04/06/2004 à 19:03, Laurent Wacrenier a écrit
dans le message :

^d* -> un nombre réel décimal sans signe


Tu veux dire un nombre décimal ? Heu non, un nombre est composé d'au
moine un chiffre et d'autre part d ne vérifie pas le séparateur
décimal ("." en anglais ou en perl et "," en français)


errata : par décimal, je voulais dire base10 [0123456789].

--
Benoit Izac


Avatar
Jerome Presson
On Fri, 04 Jun 2004 19:14:02 +0200, Benoit Izac wrote:

Bonjour,

le 04/06/2004 à 19:03, Laurent Wacrenier a écrit
dans le message :

^d* -> un nombre réel décimal sans signe


Tu veux dire un nombre décimal ? Heu non, un nombre est composé d'au
moine un chiffre et d'autre part d ne vérifie pas le séparateur
décimal ("." en anglais ou en perl et "," en français)


errata : par décimal, je voulais dire base10 [0123456789].


Aie! J'ai dit nombre pour la premiere partie de la chaine
mais je voulais dire suite de carateres (non decimaux).



Avatar
Antoine Dinimant
Aie! J'ai dit nombre pour la premiere partie de la chaine
mais je voulais dire suite de carateres (non decimaux).


dans ton exemple, ce sont pourtant des chiffres ???

ça fait donc :
/([^ ]+) (.*)/ si tu es sûr que ton espace est un espace ou
/(S+)s(.*)/ si ça peut être un autre caractère blanc (tabu, n etc.)

ou encore, si vraiment tu veux exclure les chiffres de ta partie gauche
/([^0-9 ]+) (.*)/
/([^0-9s])s(.*)/

Avatar
Jerome Presson
On Fri, 04 Jun 2004 21:08:28 +0200, Antoine Dinimant wrote:

Aie! J'ai dit nombre pour la premiere partie de la chaine
mais je voulais dire suite de carateres (non decimaux).


dans ton exemple, ce sont pourtant des chiffres ???

ça fait donc :
/([^ ]+) (.*)/ si tu es sûr que ton espace est un espace ou
/(S+)s(.*)/ si ça peut être un autre caractère blanc (tabu, n etc.)

ou encore, si vraiment tu veux exclure les chiffres de ta partie gauche
/([^0-9 ]+) (.*)/
/([^0-9s])s(.*)/


Je me bagarre aussi avec la terminologie...

Merci.


Avatar
Antoine Dinimant
Je me bagarre aussi avec la terminologie...


"Ce qui se conçoit bien s'énonce clairement
et les mots pour le dire viennent aisément."

;-)

Avatar
tyoup
Antoine Dinimant wrote:
Je me bagarre aussi avec la terminologie...



"Ce qui se conçoit bien s'énonce clairement
et les mots pour le dire viennent aisément."


bon bah alors j'ai jamais rien su concevoir

--
tyoup


Avatar
Antoine Dinimant
"Ce qui se conçoit bien s'énonce clairement
et les mots pour le dire viennent aisément."


bon bah alors j'ai jamais rien su concevoir


alors un conseil, travaille l'énonciation !
en particulier pour ce qui est des regex, commence par rédiger noir sur
blanc une description très précise de ce que tu veux. Quand tu as ça, le
plus dur est fait, tu n'as plus qu'à coder !


Avatar
tyoup
Antoine Dinimant wrote:
"Ce qui se conçoit bien s'énonce clairement
et les mots pour le dire viennent aisément."



bon bah alors j'ai jamais rien su concevoir



alors un conseil, travaille l'énonciation !
en particulier pour ce qui est des regex, commence par rédiger noir sur
blanc une description très précise de ce que tu veux. Quand tu as ça, le
plus dur est fait, tu n'as plus qu'à coder !



le temps de trouver le début de la phrase et la regex est déjà pondue ^^

--
tyoup