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 :

[debutant] comment remplacer une chaine de caractere dans un fichier


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1
    Par défaut [debutant] comment remplacer une chaine de caractere dans un fichier
    salut tout le monde,

    dans un fichier texte, j'aimerai savoir comment rechercher une chaine de caracteres specifique puis la remplacer par une autre.

    merci

  2. #2
    Membre expérimenté Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Par défaut
    en récupérant ton fichier puis en utilisant replaceAll de String qui te permet de remplacer des mots par des autres (il y a un exemple dans la FAQ)

  3. #3
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    je crois que tu est obligé de parcourir le fichier pour remplir une variable (un stringBuffer) et de faire un replaceAll dessus.

    mais bon il y a peut etre plus propre/efficace ...

    [EDIT] ha pas assez rapide ...

  4. #4
    Membre chevronné Avatar de NeptuS
    Profil pro
    Inscrit en
    Août 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 392
    Par défaut
    à mon avis, le plus rapide pourrait être :
    - d'ouvrir un flux de fichier (on va l'appeler 'r') depuis le fichier que tu veux lire
    - d'ouvrir un flux de fichier (on va l'appeler 'w') vers 1 nouveau fichier (tester si existant -> effacer puis recréer)

    de déclarer 1 String 's' qui prend la première valeur lue de r

    et enfin :

    tant que s non null {
    écrire s.replace("chaine à remplacer", "chaine à inscrire") dans w
    lire s dans r
    }


    Voilà .. t'as l'algo

  5. #5
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    histoire d'avoir plusieurs points de vue, moi j'aurais plutot vu un truc style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    BufferedReader in=new BufferedReader(new FileReader("source"));
    StringBuffer sb = new StringBuffer();
     
    while((ligne=in.readLine())!=null){
    sb.append(ligne)
    }
     
    String clean = sb.toString().replaceAll("Recherché","Remplacé par");
    in.reset(); // à voir si c'est suffisant
    in.write(clean);
    in.close();
    avec les exceptions qui vont bien.


    Apres ça dépend de ce que tu veux remplacer. Si c'est juste des caractères, la solution de neptus est bonne. Apres si c'est des phrases (et donc sur plusieurs lignes) mieux vaut travailler sur le texte dans sa globalité.

    Apres, mon idée est surement moins rapide que celle de Neptus. Peut etre un mis des 2 te comblerait ...

  6. #6
    Membre chevronné Avatar de NeptuS
    Profil pro
    Inscrit en
    Août 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 392
    Par défaut
    écrire dans 1 reader ??

    original ... mais faux il me semble.

  7. #7
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    oui effectivement, j'ai pas trop réfléchi ...

    mais bon ... c'est pas vraiment important pour la compréhension de l'algo je pense


    ATTENTION ! NE PAS COPIER/COLLER ET METTRE EN PRODUCTION

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/12/2011, 23h33
  2. Réponses: 1
    Dernier message: 13/06/2007, 13h14
  3. Remplacer une chaîne de caractères dans un fichier .hex
    Par subsix dans le forum Assembleur
    Réponses: 8
    Dernier message: 23/11/2006, 21h06
  4. [debutant][String] Remplacer une chaine de caractère contenant un ?
    Par Jarodnet dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 12/10/2005, 12h47
  5. Réponses: 7
    Dernier message: 27/09/2005, 11h54

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