Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
752 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  Perl substitution fin de chaine

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Perl substitution fin de chaine

n°2087360
phdenis
Posté le 05-07-2011 à 23:29:51  profilanswer
 

Bonjour,
 
J'ai un petit problème concernant une substitution dans une chaine de caractère.
 
Voici mon problème, j'ai une ligne:
CHAMP_1;CHAMP_2;CHAMP_3;CHAMP_4;CHAMP_5;CHAMP_6;CHAMP_7;;;;;;;;;;;;;;;;;;
 
J'ai pensé à cette expression régulière mais sans succès.
 

Code :
  1. $_ =~ s/(\w+)+(;)+$/$1/


 
Je cherche une solution élégante pour supprimer les ';' qui sont en fin de chaine en remontant la chaine de caractère.
Je sais que je peux supprimer les ';' à la fin de la chaine en découpant ma chaine via la fonction split puis faire une boucle mais je trouve cette solution pas élégante.
 
Merci pour votre aide.

mood
Publicité
Posté le 05-07-2011 à 23:29:51  profilanswer
 

n°2087363
Elmoricq
Modérateur
Posté le 05-07-2011 à 23:51:10  profilanswer
 

Code :
  1. s/;+$//;


 
:??:

n°2087365
phdenis
Posté le 06-07-2011 à 00:07:56  profilanswer
 

Elmoricq a écrit :

Code :
  1. s/;+$//;


 
:??:


 
Bonsoir,
 
Malheureusement, ca ne marche pas cette solution :(
 
Merci quand même.

n°2087373
Elmoricq
Modérateur
Posté le 06-07-2011 à 01:14:20  profilanswer
 

"ça ne marche pas", c'est un peu court :
 
http://regex.powertoy.org/?pat=s/% [...] B%3B%3B%0A
 
Semble bien donner ce que tu attends, ou bien je n'ai pas compris ce que tu souhaites faire.

n°2087380
phdenis
Posté le 06-07-2011 à 06:58:51  profilanswer
 

Elmoricq a écrit :

"ça ne marche pas", c'est un peu court :
 
http://regex.powertoy.org/?pat=s/% [...] B%3B%3B%0A
 
Semble bien donner ce que tu attends, ou bien je n'ai pas compris ce que tu souhaites faire.


 
Salut,
Désolé pour ma précédente réponse, je vais tester le lien que tu m'as fourni. (Apparemment, il faut que j'installe un plugin Java pour Mozilla)
 
Dans un script perl, j'ai mis dans une chaine de caractère "CHAMP_1;CHAMP_2;CHAMP_3;CHAMP_4;CHAMP_5;CHAMP_6;CHAMP_7;;;;;;;;;;;;;;;;;;"
puis j'ai imprimer avant et après modification de l'expression régulière et il n'y a pas eu de modification.
 
Voici ce que je voudrais obtenir,

Code :
  1. Chaine Avant: CHAMP_1;CHAMP_2;CHAMP_3;CHAMP_4;CHAMP_5;CHAMP_6;CHAMP_7;;;;;;;;;;;;;;;;;;
  2. Chaine Après: CHAMP_1;CHAMP_2;CHAMP_3;CHAMP_4;CHAMP_5;CHAMP_6;CHAMP_7


 
Merci pour ton aide.
 
 

n°2087385
phdenis
Posté le 06-07-2011 à 08:38:53  profilanswer
 

phdenis a écrit :


 
Salut,
Désolé pour ma précédente réponse, je vais tester le lien que tu m'as fourni. (Apparemment, il faut que j'installe un plugin Java pour Mozilla)
 
Dans un script perl, j'ai mis dans une chaine de caractère "CHAMP_1;CHAMP_2;CHAMP_3;CHAMP_4;CHAMP_5;CHAMP_6;CHAMP_7;;;;;;;;;;;;;;;;;;"
puis j'ai imprimer avant et après modification de l'expression régulière et il n'y a pas eu de modification.
 
Voici ce que je voudrais obtenir,

Code :
  1. Chaine Avant: CHAMP_1;CHAMP_2;CHAMP_3;CHAMP_4;CHAMP_5;CHAMP_6;CHAMP_7;;;;;;;;;;;;;;;;;;
  2. Chaine Après: CHAMP_1;CHAMP_2;CHAMP_3;CHAMP_4;CHAMP_5;CHAMP_6;CHAMP_7


 
Merci pour ton aide.
 
 


 
Désolé, effectivement ça marche,  je viens de m'apercevoir que je n'affichais pas la bonne variable dans ma ligne.
Voila, le pourquoi du comment, milles excuses.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  Perl substitution fin de chaine

 

Sujets relatifs
Formulaire envoi à la chaine[Résolu] Création d'un tableau imbriqué à partir d'un tableau simple
[Résolu] HTML::Parser, balises avec attribut[ActiveState]Comment executer les commandes perl sous ActiveState
exécuter une chaine en javaSéparer une chaîne avec fichier joint ET base64
Supression d'un saut de ligne dans une chaîne de caractèrescomment extraire plusieurs chaine de caracteres d'un fichier ???
[Perl] suppression fin chaîne de caractère[Perl] Réaction incompréhensible après substitution de chaîne ! URGENT
Plus de sujets relatifs à : Perl substitution fin de chaine


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR