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 Java Discussion :

Expression régulière Java


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Par défaut Expression régulière Java
    Bonjour,
    Actuellement en plein développement d'une petite application, je souhaite mettre une expression régulière qui match dans un document txt une chaine et qui me la remplace par une autre.

    Je m'explique :
    J'ai un document txt comportant des valeurs par ligne.
    je souhaite mettre en place une expression régulière qui me permette de matcher un path ressemblant à ça : "c:\Users\toto\Desktop\Test\monFic.txt" et de le remplacer par un autre lien.

    J'ai regardé un tutorial sur la mise en place des expression régulière, j'ai essayé de faire quelque mise en pratique là dessus, mais je reste encore sceptique à l'idée de comprendre son fonctionnement...

    Voici un extrait du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    String chemin = rep.getAbsolutePath()+"\\monFic.txt";
    					   System.out.println("le chemin "+chemin);
    					   BufferedReader fichier_source = new BufferedReader(new FileReader(chemin));
    					   String chaine;
    					   int i = 0;
    					   while((chaine = fichier_source.readLine())!= null)
    					   { 
    // l'idée est de créer une regexp permettant de matcher cette ligne et la remplacer par la suite.... On remarque qu'ici je suis parti sur une autre idée, mauvaise à mon gout !
    						   if(chaine.contains("c:\\Users\\toto\\Desktop\\Test\\monFic.PEQ"))
    						   	chaine.replaceAll("c:\\Users\\toto\\Desktop\\Test\\monFic.PEQ",rep.getAbsolutePath()+"\\monFic.PEQ");
    					   }
    					   fichier_source.close();
     
    					}
    					catch (FileNotFoundException e)
    					{
    					   System.out.println("Le fichier est introuvable !");
    					} catch (IOException e) {
    						// TODO Auto-generated catch block
    						e.printStackTrace();
    					}
    Je vous remercie d'avance

  2. #2
    Membre très actif Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    802
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 802
    Par défaut
    Citation Envoyé par SmithC Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    						   if(chaine.contains("c:\\Users\\toto\\Desktop\\Test\\monFic.PEQ"))						   	chaine.replaceAll("c:\\Users\\toto\\Desktop\\Test\\monFic.PEQ",rep.getAbsolutePath()+"\\monFic.PEQ");
    Peux-être simplement remplacé par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chaine.replaceAll("c:\\Users\\toto\\Desktop\\Test\\monFic.PEQ",rep.getAbsolutePath()+"\\monFic.PEQ");
    Pour info replaceAll marche avec des regex aussi!!

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Par défaut
    Citation Envoyé par supergeoffrey Voir le message
    Peux-être simplement remplacé par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chaine.replaceAll("c:\\Users\\toto\\Desktop\\Test\\monFic.PEQ",rep.getAbsolutePath()+"\\monFic.PEQ");
    Pour info replaceAll marche avec des regex aussi!!
    L'idée d'utiliser une expression régulière me permet de remplacer à chaque execution le path suivant la position des dossiers.

    Ce que je cherche c'est de savoir comment pouvoir matcher ce path ou ce qui le remplacera par une regexp.

    Cordialement

  4. #4
    Membre très actif Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    802
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 802

Discussions similaires

  1. expression régulière java et xml
    Par jmturc dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 07/06/2012, 17h37
  2. Réponses: 1
    Dernier message: 04/09/2009, 12h37
  3. Expression régulière Java
    Par dnevers dans le forum Général Java
    Réponses: 5
    Dernier message: 05/03/2009, 11h12
  4. Expression régulière java
    Par Anubis dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 04/09/2008, 12h28
  5. Expressions régulières Java (matchs insuffisants)
    Par jemore dans le forum Langage
    Réponses: 4
    Dernier message: 21/06/2006, 19h55

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