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 :

Remplacer {mot} par autre chose dans un string


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2007
    Messages : 165
    Par défaut Remplacer {mot} par autre chose dans un string
    Bonjour,

    J'aimerais grâce à une regexp et String.replace(regexp,str) remplacer toutes les occurences du genre : {CMD} par un mot ou une phrase.
    J'ai un fichier à modifier car il doit être traduit en plusieurs langues, donc mon fichier à certain endroits a des {DONE} ou {START} qui sont ensuite remplacées par "Starting script" en anglais ou "Lancement du script" en français...
    Le problème est de réussir à faire une regexp qui marche.
    Quelqu'un aurait une idée quel regexp utiliser ? Car je sèche.

    Cordialement,

    rXp

  2. #2
    Membre expérimenté Avatar de Mamypirate
    Homme Profil pro
    Samouraï
    Inscrit en
    Mai 2011
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Samouraï
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 108
    Par défaut
    Si ton occurrence est précise, tu peux faire simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maChaine.replace("{START}","Lancement du script");
    Sinon, tu pourras récupérer tes occurrences avec la regexp suivante :


  3. #3
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    J'utiliserai une structure find-appendReplacement-appendTail

    Voici l'exemple donné dans la javadoc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Pattern p = Pattern.compile("cat");
     Matcher m = p.matcher("one cat two cats in the yard");
     StringBuffer sb = new StringBuffer();
     while (m.find()) {
         m.appendReplacement(sb, "dog");
     }
     m.appendTail(sb);
     System.out.println(sb.toString());
    source
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

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

Discussions similaires

  1. [AC-2010] Remplacer mot par son abréviation dans plusieurs champs d'une adresse postale
    Par lorenzokamalodo dans le forum Access
    Réponses: 7
    Dernier message: 05/08/2014, 09h05
  2. [W3C] remplacer alt par autre chose ?
    Par gloglo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 20/04/2007, 11h26
  3. Cherche à remplacer les mailslots par autre chose.
    Par asenaici dans le forum Delphi
    Réponses: 2
    Dernier message: 04/12/2006, 12h30
  4. remplacer le nom dns par autre chose
    Par griese dans le forum Apache
    Réponses: 11
    Dernier message: 06/07/2006, 16h32
  5. Réponses: 3
    Dernier message: 23/12/2005, 16h13

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