je me pr=E9sente : Blue Boy Maxime, informaticien g=E9n=E9raliste dans une
PME. Je programme peu, r=E9cemment en Perl. Ce qui est tr=E8s pratique
sous Linux pour le traitement de fichier.
Je cherche un expression r=E9guli=E8re pour d=E9terminer l'extension d'un
fichier.
Donc , les trois derniers caract=E8res d'une chaine, pr=E9c=E9d=E9s d'un
point.
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
Mark Clements
Blue Boy Maxime wrote:
Salut,
je me présente : Blue Boy Maxime, informaticien généraliste dans une PME. Je programme peu, récemment en Perl. Ce qui est très pratique sous Linux pour le traitement de fichier.
Je cherche un expression régulière pour déterminer l'extension d'un fichier. Donc , les trois derniers caractères d'une chaine, précédés d'un point.
J'ai un peu cherché, mais point trouvé.
Auriez vous des idées ?
Pour par exemple remplacer .doc par .txt.
cherche
File::Basename
à
http://search.cpan.org
C'est plus facile d'utiliser une module que le faire avec un regexp, mais quelque chose comme
my $filename = "document.doc"; $filename =~ s/(w+).w{1,3}$/$1.txt/g;
devrait marcher.
Bien à vous.
Blue Boy Maxime
Et si vou savez ce que signifie "mongueur"...
C'est un corruption d'un mot anglais monger - fishmonger, ironmonger etc
je me présente : Blue Boy Maxime, informaticien généraliste dans une
PME. Je programme peu, récemment en Perl. Ce qui est très pratique
sous Linux pour le traitement de fichier.
Je cherche un expression régulière pour déterminer l'extension d'un
fichier.
Donc , les trois derniers caractères d'une chaine, précédés d'un
point.
J'ai un peu cherché, mais point trouvé.
Auriez vous des idées ?
Pour par exemple remplacer .doc par .txt.
cherche
File::Basename
à
http://search.cpan.org
C'est plus facile d'utiliser une module que le faire avec un regexp,
mais quelque chose comme
my $filename = "document.doc";
$filename =~ s/(w+).w{1,3}$/$1.txt/g;
devrait marcher.
Bien à vous.
Blue Boy Maxime
Et si vou savez ce que signifie "mongueur"...
C'est un corruption d'un mot anglais monger - fishmonger, ironmonger etc
je me présente : Blue Boy Maxime, informaticien généraliste dans une PME. Je programme peu, récemment en Perl. Ce qui est très pratique sous Linux pour le traitement de fichier.
Je cherche un expression régulière pour déterminer l'extension d'un fichier. Donc , les trois derniers caractères d'une chaine, précédés d'un point.
J'ai un peu cherché, mais point trouvé.
Auriez vous des idées ?
Pour par exemple remplacer .doc par .txt.
cherche
File::Basename
à
http://search.cpan.org
C'est plus facile d'utiliser une module que le faire avec un regexp, mais quelque chose comme
my $filename = "document.doc"; $filename =~ s/(w+).w{1,3}$/$1.txt/g;
devrait marcher.
Bien à vous.
Blue Boy Maxime
Et si vou savez ce que signifie "mongueur"...
C'est un corruption d'un mot anglais monger - fishmonger, ironmonger etc
Je cherche un expression régulière pour déterminer l'extension d'un fichier. Donc , les trois derniers caractères d'une chaine, précédés d'un point. J'ai un peu cherché, mais point trouvé. Auriez vous des idées ? Pour par exemple remplacer .doc par .txt.
cherche
File::Basename
à
http://search.cpan.org
C'est plus facile d'utiliser une module que le faire avec un regexp, mais quelque chose comme
my $filename = "document.doc"; $filename =~ s/(w+).w{1,3}$/$1.txt/g;
devrait marcher.
Non : c'est le contraire qu'il cherche : la fin, pas le début...
La regexp est ....$
Tu peux remplacer les trois derniers point spar les caractères que tu cherches vraiment (alpha, chiffres, etc.)
Man perlre, perlrequick pour avoir les bonnes abréviations suivant ce que tu cherches...
Mark Clements <mark.clementsREMOVETHIS@wanadoo.fr> writes:
Blue Boy Maxime wrote:
[...]
Je cherche un expression régulière pour déterminer l'extension d'un
fichier.
Donc , les trois derniers caractères d'une chaine, précédés d'un
point.
J'ai un peu cherché, mais point trouvé.
Auriez vous des idées ?
Pour par exemple remplacer .doc par .txt.
cherche
File::Basename
à
http://search.cpan.org
C'est plus facile d'utiliser une module que le faire avec un regexp,
mais quelque chose comme
my $filename = "document.doc";
$filename =~ s/(w+).w{1,3}$/$1.txt/g;
devrait marcher.
Non : c'est le contraire qu'il cherche : la fin, pas le début...
La regexp est ....$
Tu peux remplacer les trois derniers point spar les caractères que tu
cherches vraiment (alpha, chiffres, etc.)
Man perlre, perlrequick pour avoir les bonnes abréviations suivant ce
que tu cherches...
Je cherche un expression régulière pour déterminer l'extension d'un fichier. Donc , les trois derniers caractères d'une chaine, précédés d'un point. J'ai un peu cherché, mais point trouvé. Auriez vous des idées ? Pour par exemple remplacer .doc par .txt.
cherche
File::Basename
à
http://search.cpan.org
C'est plus facile d'utiliser une module que le faire avec un regexp, mais quelque chose comme
my $filename = "document.doc"; $filename =~ s/(w+).w{1,3}$/$1.txt/g;
devrait marcher.
Non : c'est le contraire qu'il cherche : la fin, pas le début...
La regexp est ....$
Tu peux remplacer les trois derniers point spar les caractères que tu cherches vraiment (alpha, chiffres, etc.)
Man perlre, perlrequick pour avoir les bonnes abréviations suivant ce que tu cherches...
C'est plus facile d'utiliser une module que le faire avec un regexp, mais quelque chose comme
my $filename = "document.doc"; $filename =~ s/(w+).w{1,3}$/$1.txt/g;
devrait marcher.
Mark
Super, ça marche. Il me reste à étudier ton code pour le comprendre.
Merci beaucoup. A+ Blue Boy Maxime
Paul Gaborit
À (at) 22 Feb 2006 11:49:28 -0800, "Blue Boy Maxime" écrivait (wrote):
Je cherche un expression régulière pour déterminer l'extension d'un fichier. Donc , les trois derniers caractères d'une chaine, précédés d'un point.
J'ai un peu cherché, mais point trouvé.
Auriez vous des idées ?
Pour par exemple remplacer .doc par .txt.
Si vous êtes sûre que votre extension est constituée *exactement* d'un point suivi de *trois* lettres, il est beaucoup plus simple et rapide d'utiliser la fonction 'substr' :
my $filename = "toto.doc"; substr($filename, -3) = "txt";
Si vous considérez au contraire que l'extension est tout ce qui suit le dernier point du nom de votre fichier (si elle existe) alors :
my $filename = "toto.html"; $filename =~ s/.[^.]*$/.txt/;
Ceci étant, la notion d'extension n'est pas clairement définie de manière portable...
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
À (at) 22 Feb 2006 11:49:28 -0800,
"Blue Boy Maxime" <maxime.edrei@free.fr> écrivait (wrote):
Je cherche un expression régulière pour déterminer l'extension d'un
fichier.
Donc , les trois derniers caractères d'une chaine, précédés d'un
point.
J'ai un peu cherché, mais point trouvé.
Auriez vous des idées ?
Pour par exemple remplacer .doc par .txt.
Si vous êtes sûre que votre extension est constituée *exactement* d'un
point suivi de *trois* lettres, il est beaucoup plus simple et rapide
d'utiliser la fonction 'substr' :
my $filename = "toto.doc";
substr($filename, -3) = "txt";
Si vous considérez au contraire que l'extension est tout ce qui suit
le dernier point du nom de votre fichier (si elle existe) alors :
my $filename = "toto.html";
$filename =~ s/.[^.]*$/.txt/;
Ceci étant, la notion d'extension n'est pas clairement définie de
manière portable...
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) 22 Feb 2006 11:49:28 -0800, "Blue Boy Maxime" écrivait (wrote):
Je cherche un expression régulière pour déterminer l'extension d'un fichier. Donc , les trois derniers caractères d'une chaine, précédés d'un point.
J'ai un peu cherché, mais point trouvé.
Auriez vous des idées ?
Pour par exemple remplacer .doc par .txt.
Si vous êtes sûre que votre extension est constituée *exactement* d'un point suivi de *trois* lettres, il est beaucoup plus simple et rapide d'utiliser la fonction 'substr' :
my $filename = "toto.doc"; substr($filename, -3) = "txt";
Si vous considérez au contraire que l'extension est tout ce qui suit le dernier point du nom de votre fichier (si elle existe) alors :
my $filename = "toto.html"; $filename =~ s/.[^.]*$/.txt/;
Ceci étant, la notion d'extension n'est pas clairement définie de manière portable...
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>