Methode ReplaceAll
morphine63
Messages postés
18
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
J'ai un fichier source message et je souhaite remplacer tout les mots IEP du fichier source par une chaîne de caractère. Mais lors de l'enregistrement du nouveau fichier rien n'est remplacé je ne sais pas quoi faire
// lecture du message modèle
String message = FileUtils.readFileToString(new File("C:\\Users\\Ju\\Desktop\\Modeles\\acte_ccam_modele.xml"));
// modification du message modèle
message.replaceAll("%iep%","voityure");
// écriture du fichier message
FileUtils.writeStringToFile(new File("C:\\Dev\\docs\\messages_emis\\000001.ihe"), message);
Merci d'avance
J'ai un fichier source message et je souhaite remplacer tout les mots IEP du fichier source par une chaîne de caractère. Mais lors de l'enregistrement du nouveau fichier rien n'est remplacé je ne sais pas quoi faire
// lecture du message modèle
String message = FileUtils.readFileToString(new File("C:\\Users\\Ju\\Desktop\\Modeles\\acte_ccam_modele.xml"));
// modification du message modèle
message.replaceAll("%iep%","voityure");
// écriture du fichier message
FileUtils.writeStringToFile(new File("C:\\Dev\\docs\\messages_emis\\000001.ihe"), message);
Merci d'avance
A voir également:
- Methode ReplaceAll
- Methode rar - Guide
- Quelle est la méthode la plus rapide pour supprimer une page dans word - Guide
- Votre appareil est hors connexion. essayez une autre méthode de connexion - Forum Réseaux sociaux
- Mon pc portable reste "hors connexion"... ✓ - Forum Réseaux sociaux
- Quelle est la meilleure méthode pour traduire une page web - Guide
2 réponses
La méthode replaceAll ne modifie pas l'objet String qui est appelé, mais elle retourne un nouveau String modifié qu'il faut donc récupérer :
// modification du message modèle
message = message.replaceAll("%iep%","voityure");
Merci beaucoup mais le problème est le meme je pense qu'il doit y avoir un soucis le fichier rendu est le meme que celui d'origine
voici les lignes que je souhaite changer
<identifiant>
<emetteur>
<valeur>IEP</valeur>
</emetteur>
<recepteur>
<valeur>IEP</valeur>
</recepteur>
</identifiant>
voici les lignes que je souhaite changer
<identifiant>
<emetteur>
<valeur>IEP</valeur>
</emetteur>
<recepteur>
<valeur>IEP</valeur>
</recepteur>
</identifiant>
Merci cela marche !
J'ai maintenant un deuxieme soucis plus embêtent ^^
je veux remplacer : String alteredMessage = message.replaceAll("IEP", acte.getIEP());
mais mon getIEP renvois un objet de type IEP et non string.
Y a t'il une solution comme créer un variable qui puisse etre de type string contenant la valeur de IEP ?
J'ai maintenant un deuxieme soucis plus embêtent ^^
je veux remplacer : String alteredMessage = message.replaceAll("IEP", acte.getIEP());
mais mon getIEP renvois un objet de type IEP et non string.
Y a t'il une solution comme créer un variable qui puisse etre de type string contenant la valeur de IEP ?
Tout dépend ce qu'est c'est classe IEP et de ce que tu veux représenter dans ton String, mais de manière générale tout les objets ont une méthode toString()
Remarque : au travers de tes String, tu es amené à construire et manipuler le contenu entier de ton fichier ce qui est à mon avis lourdeur aussi bien au niveau du temps d'exécution qu'au niveau de l'espace mémoire utilisé, en comparaison d'une méthode qui remplirait le deuxième fichier au fur et à mesure qu'il lit le premier...
String alteredMessage = message.replaceAll("IEP", acte.getIEP().toString());
Remarque : au travers de tes String, tu es amené à construire et manipuler le contenu entier de ton fichier ce qui est à mon avis lourdeur aussi bien au niveau du temps d'exécution qu'au niveau de l'espace mémoire utilisé, en comparaison d'une méthode qui remplirait le deuxième fichier au fur et à mesure qu'il lit le premier...