OVH Cloud OVH Cloud

Recuperation d'un mot...

5 réponses
Avatar
romain.daumont
Salut,

Je cherche un moyen de detecter et recuperer un mot dans un champs de
caractere.
La chaine de caractere est constituée de la manière suivante :
toto.int-evry.fr
Je veux recuperer que les mots (car il existe plusieurs nom) se
trouvant dans "toto"; ils peuvent etre alphanumerique. Chaque mot
recuperé est placé dans une variable pour effectuer une serie de test.

Si quelqu'un à une solution...

Merci

Romain

5 réponses

Avatar
Stephane Zuckerman
Salut,

toto.int-evry.fr
Je veux recuperer que les mots (car il existe plusieurs nom) se
trouvant dans "toto"; ils peuvent etre alphanumerique. Chaque mot
recuperé est placé dans une variable pour effectuer une serie de test.


Je ne comprends pas trop ton problème, et tu n'es pas assez précis. Quel
est le séparateur de chaque mot ?

use strict;
use warnings;

my $entree = 'toto.int-evry.fr';
my $chaine = $entree;

$chaine =~ s/(w+).int-evry.fr/$1/; # suppression de '.int-evry.fr'

my @liste = split(/W+/, $chaine); # on découpe les mots en fonction de
# caractères non alphanumériques
print "$_n" foreach(@liste); # <-> map { print "$_n" } @liste;


--
"Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce
que je veux !"
"The obvious mathematical breakthrough would be development of an easy
way to factor large prime numbers." (Bill Gates, The Road Ahead)

Avatar
p_geni...
Stephane Zuckerman wrote:

$chaine =~ s/(w+).int-evry.fr/$1/; # suppression de '.int-evry.fr'


$chaine =~ s/(w+).int-evry.fr/$1/;

non ?




Pierre.



-----
échangez opinions et commentaires dans les forums de discussion.
http://www.usenetgratuit.com/

Avatar
Stephane Zuckerman
$chaine =~ s/(w+).int-evry.fr/$1/; # suppression de '.int-evry.fr'


$chaine =~ s/(w+).int-evry.fr/$1/;


Houla oui. Ca m'apprendra à recopier plutôt que copier/coller.

Merci :-)

--
"Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce
que je veux !"
"The obvious mathematical breakthrough would be development of an easy
way to factor large prime numbers." (Bill Gates, The Road Ahead)


Avatar
romain.daumont
(Pierre Génieys wrote in message news:<4253eca3$0$15891$...
Stephane Zuckerman wrote:

$chaine =~ s/(w+).int-evry.fr/$1/; # suppression de '.int-evry.fr'


$chaine =~ s/(w+).int-evry.fr/$1/;

non ?




Pierre.



-----
échangez opinions et commentaires dans les forums de discussion.
http://www.usenetgratuit.com/


:-) Exactement, c'est la chaine '.int-evry.fr' que je voulais
supprimer. L'utilisation d'un "split" est egalement une bonne idée. Je
vais les tester dans mon script.

Merci pour votre aide!


Avatar
Stephane Zuckerman
On Wed, 6 Apr 2005, Stephane Zuckerman wrote:

$chaine =~ s/(w+).int-evry.fr/$1/; # suppression de '.int-evry.fr'


$chaine =~ s/(w+).int-evry.fr/$1/;



On peut même encore faire mieux (et qui marche ;-)) :
s/(w+).int-evry.fr/$1/

Décidément, j'étais pas réveillé...

Stéphane

--
"Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce
que je veux !"
"The obvious mathematical breakthrough would be development of an easy
way to factor large prime numbers." (Bill Gates, The Road Ahead)