1. #1
    Membre du Club
    Étudiant
    Inscrit en
    juin 2004
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2004
    Messages : 72
    Points : 55
    Points
    55

    Par défaut Expression régulières : remplacer les zones de commentaires par des blancs

    Bonjours,

    J'essaye depuis un petit bout de temps de remplacer les zones de commentaires du type : /* */ par des ' '.

    Dans le contexte, un fichier est chargé dans un String,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    leFichier.replaceAll("(/\\*)-(.*)-(\\*/)", " ");
    Le problème c'est qu'il remplace effectivement un pattern semblable à celui que je souhaite à la différence près qu'il ne s'arrête pas au */ suivant.

    En gros, extrait du fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    salut super chouette /* un premier commentaire */ c'est vraiment tops cool /* deuxième commentaire */ j'ai un pêche d'enfer
    Après traitement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    salut super chouette j'ai un pêche d'enfer
    Alors que souhaiterais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    salut super chouette c'est vraiment tops cool j'ai un pêche d'enfer
    Je cherche donc ce fameux pattern qui commence à me rendre dingue.

    Merci,

  2. #2
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : février 2005
    Messages : 2 636
    Points : 5 930
    Points
    5 930

    Par défaut

    Tu dois spécifier de prendre la partie la "plus courte" en rajoutant un '?' derrière le ".*"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    leFichier.replaceAll("(/\\*)-(.*?)-(\\*/)", " ");
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  3. #3
    Membre du Club
    Étudiant
    Inscrit en
    juin 2004
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2004
    Messages : 72
    Points : 55
    Points
    55

    Par défaut

    Merci,
    mais
    c'est spé, ça marche pour les zones de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    /*------------------------------------------------------------------------
        BLA ET BLA ET BLA ET BLA ET BLA ET BLA ET BLA ET BLA ET BLA ET BLA
      ----------------------------------------------------------------------*/
    Mais pas pour les types suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    /*    BLA ET BLA ET BLA ET BLA ET BLA ET BLA ET      */
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    /* ***************************  BLA ET    ************************** */

  4. #4
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : février 2005
    Messages : 2 636
    Points : 5 930
    Points
    5 930

    Par défaut

    Il doit s'agir des '-' dans ton expression régulière (je pensais que tu les avais mis là exprès).
    Il te suffit donc de les lever.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    leFichier.replaceAll("/\\*.*?\\*/", " ");
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  5. #5
    Membre du Club
    Étudiant
    Inscrit en
    juin 2004
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2004
    Messages : 72
    Points : 55
    Points
    55

    Par défaut

    Merci pour tous, les - s'était pour l'union, inutile apparement ...


    Encore Merci

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/11/2009, 10h20
  2. Remplacer les liens dans Formview par des boutons
    Par lemagicien dans le forum ASP.NET
    Réponses: 1
    Dernier message: 29/08/2007, 23h33
  3. Réponses: 3
    Dernier message: 12/09/2006, 13h53
  4. Réponses: 9
    Dernier message: 09/04/2004, 17h40

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