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

Collection et Stream Java Discussion :

Génération d'un String à partir d'une expression régulière


Sujet :

Collection et Stream Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Génération d'un String à partir d'une expression régulière
    Bonjour,

    je souhaite à partir d'un nom de fichier et d'une expression régulière générer un nouveau de fichier.

    Exemple :
    nom de fichier : /home/myAccount/myFile.txt
    expression régulière : .+_backup\.txt
    nom de fichier généré : /home/myAccount/myFile_backup.txt

    Autre exemple plus compliqué :
    nom de fichier : /home/myAccount/myFile.txt
    expression régulière : .+_backup\.xml
    nom de fichier généré : /home/myAccount/myFile_backup.xml


    Est-ce que des outils existent pour faire ce que je veux ? QQ maîtrise suffisament bien les expr reg pour m'expliquer une technique ?

    Merci d'avance.

    François

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Un petit replaceAll devrait faire l'affaire, sachant que tu peux définir des groupes en utilisant des parenthèses (voir la FAQ : Comment remplacer une sous-chaîne en la reportant dans la chaîne de remplacement ?).

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	String input = "/home/myAccount/myFile.txt";
    	String output = input.replaceAll("(.*?)\\.txt", "$1_backup.txt");
     
    	System.out.println(input);
    	System.out.println(output);
    A noter que si tu dois faire cela un grand nombre de fois, il vaut mieux utiliser directement la classe Pattern (créé implicitement par replaceAll()) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	Pattern p = Pattern.compile("(.*?)\\.txt"); 
     
    	String input = "/home/myAccount/myFile.txt";
    	String output = p.matcher(input).replaceAll("$1_backup.txt");

    a++

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [SOLVED] Génération d'un String à partir d'une expression régulière
    Ouai c'est pas mal...

    C'est exactement ça ! Bien joué.

    Merci bien, à +.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/05/2014, 14h52
  2. Remplacer un champs à partir d'une expression régulière
    Par Nullos Oracle dans le forum Requêtes
    Réponses: 1
    Dernier message: 17/07/2008, 14h33
  3. Réponses: 4
    Dernier message: 08/01/2007, 23h38
  4. [CR] Génération d'un état à partir d'une page ASP
    Par marceline dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 01/08/2006, 12h28
  5. Réponses: 4
    Dernier message: 01/12/2005, 01h01

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