Diablotin63
Messages postés14Date d'inscriptionvendredi 27 juin 2003StatutMembreDernière intervention 1 juillet 2004
-
18 mai 2004 à 11:39
Diablotin63
Messages postés14Date d'inscriptionvendredi 27 juin 2003StatutMembreDernière intervention 1 juillet 2004
-
19 mai 2004 à 10:45
Bonjour les gens,
Alors j'ai un petit problème: j'ai un fichier txt contenant des balises, ie des variables à remplacer. Je voudrais copier mon fichier et remplacer les balises par ce que une saisie effectuée auparavant.
Disons que j'ai le fichier ancien.txt et je veux creer nouveau.txt en ayant remplacer la balise "variable" par "library" le truc c'est que je ne vois po comment faire pour faire ça. j'utilise bien replace mais c'est du bricolage je trouve, caractère par caractère c'est pas génial.
Diablotin63
Messages postés14Date d'inscriptionvendredi 27 juin 2003StatutMembreDernière intervention 1 juillet 2004 18 mai 2004 à 13:35
Ca m'embete la méthode du replace car par exemple si ej veux remplacer "toto" par "tota" la méthode replace ne prend dans l'ordre d'apparition les caractères et me donnera "tato"! ;(
cs_tds
Messages postés351Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 9 décembre 2004 18 mai 2004 à 14:20
Utilise plutôt la détection de chaines de caractères à l'aide de substring qui te revois l'indice. Ensuite tu delete d'un coup la substring et tu la remplace à l'indice.
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 20117 18 mai 2004 à 22:20
Salut,
pourquoi ne pas utiliser les regexp ?
Dans la classe String il y a la méthode replaceAll() qui fait ce que tu souhaites.
chaine=chaine.replaceAll("#variable","library");
Au sujet de ton algo de remplacement, je crois qu'il fait tout sauf ce que tu veux. Remplacer le '#' par un 'L', le 'v' par un 'i' ... c'est un peu étrange je trouve...
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 20117 19 mai 2004 à 09:34
t'as quel JDK ? 1.3 ou 1.4 ?
Cette méthode n'est disponible qu'à partir de 1.4
Si tu es en 1.3 il faut utiliser RegExp de Jakarta
http://jakarta.apache.org/regexp/index.html Le principe reste le même :
RE re=new RE("#variable");
chaine=re.subst(chaine,"library");
Diablotin63
Messages postés14Date d'inscriptionvendredi 27 juin 2003StatutMembreDernière intervention 1 juillet 2004 19 mai 2004 à 09:38
j'ai le 1.4.2_03 mais ça marche pas, alors je dois pas être très réveillé ce matin car je trouve pas la méthode replaceAll
dans java.lang.stringbuffer...
Diablotin63
Messages postés14Date d'inscriptionvendredi 27 juin 2003StatutMembreDernière intervention 1 juillet 2004 19 mai 2004 à 09:44
grrrrr toujours pas, diablotin l'handicapé du matin
En plus j'utilise WASD et il va cherche tout seul les librairies nécessaires, il trouve pas la méthode replaceall
import java.lang.String;
chaine.replaceAll("coucou","salut"); // ça marche pas
Diablotin63