IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

[langage]Remplacer une chaines de caractère entre 2 symboles


Sujet :

Langage Perl

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Points : 314
    Points
    314
    Par défaut [langage]Remplacer une chaines de caractère entre 2 symboles
    Bonjour à tous,
    Voilà, je voudrais savoir s'il est possible de remplacer une chaine de carcaters comprises entre deux symboles.
    Exemple:
    J'ai la chaine de carcatère suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    voici le variable ¤chaine_de_carcatere¤ fin
    Je voudrais remplacer ce qu'il y a entre ¤ et ¤ (ie: chaine_de cractere)

    Je ne voudrais pas utiliser split. Y a t'il un autre moyen ?
    Meric de votre aide.

  2. #2
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 867
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 867
    Points : 4 873
    Points
    4 873
    Par défaut
    Salut

    En ASCII, ton caractère bizarre n'existe pas (du moins à ma connaissance), as-tu un autre séparateur compatible ASCII ?
    Un exemple sinon de remplacement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #!/usr/bin/perl -w
     
    use strict;
     
    my($chaine) = "Voici le variable &chaine_de_carcatere& fin";
    my($replace) = "chaîne de caractères";
    print $chaine."\n";
    $chaine =~ s/\&([a-zA-Z_]+)\&/$replace/;
    print $chaine."\n";
    @++

  3. #3
    Membre actif Avatar de Gamdwin
    Inscrit en
    Avril 2005
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 186
    Points : 207
    Points
    207
    Par défaut
    Avec les expressions régulières, et en particulier l'opérateur de substitution : s///

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    my $chaine = "voici le variable ¤chaine_de_carcatere¤ fin";
     
    $chaine =~ s/¤(.*?)¤/¤nouvelle chaine¤/;

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    avec les expression reguliere. confere faq!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    my $chaine = "voici le variable ¤chaine_de_carcatere¤ fin";
    $chaine =~ s/¤(.+)¤/¤toto¤/i;
    print $chaine;

  5. #5
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    trop rapide les autres

  6. #6
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 867
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 867
    Points : 4 873
    Points
    4 873
    Par défaut
    Que crois-tu ! J'ai quand même lu ta partie !



    @++

  7. #7
    Membre actif Avatar de Gamdwin
    Inscrit en
    Avril 2005
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 186
    Points : 207
    Points
    207
    Par défaut
    Citation Envoyé par GLDavid
    Que crois-tu ! J'ai quand même lu ta partie !
    En même temps, ton code remplace et le contenu entre les séparateurs, et les séparateurs eux-mêmes.
    Na.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Points : 314
    Points
    314
    Par défaut
    Et bah c la fête, une question et des pleins de réponses. Merci beaucoup à tous, Dorénavant, les expressiosn régulières sont mes amies !!!!!

    PS: mais j'ai peur de les utilisées de manière irréguilère .... (humouur )

    Merci à tous et bonne aprem

  9. #9
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    pas oublier un petit tag resolu, bas de page à gauche!

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Points : 314
    Points
    314
    Par défaut
    Il est vrai

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 03/02/2005, 13h59
  2. Réponses: 5
    Dernier message: 21/07/2004, 19h34
  3. Réponses: 10
    Dernier message: 22/05/2004, 13h51
  4. Réponses: 4
    Dernier message: 16/04/2004, 16h31
  5. langage] Découper une chaine suivant un délimiteur
    Par totox17 dans le forum Langage
    Réponses: 2
    Dernier message: 25/11/2002, 16h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo