Bonjour,
Je dois remplacer dans une chaîne tous les caractères | par le caractère (Char)10.
La fonctions replaceAll() prend 2 string en argument.
Comment passer le (Char)10 dans la 2ème string ?
Merci.
Bonjour,
Je dois remplacer dans une chaîne tous les caractères | par le caractère (Char)10.
La fonctions replaceAll() prend 2 string en argument.
Comment passer le (Char)10 dans la 2ème string ?
Merci.
Pour l'instant je m'en sors avec cela:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 while(label.indexOf('|') > -1) { label = label.replace('|', '\n') ; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part replaceAll("|",String.valueOf((char)10));
Salut,
Deux remarques :
- Le code 10 correspond au caractère de retour-chariot (line-feed), et on utilise généralement '\n'.
- Pour un simple remplacement d'un caractère par un autre, il vaut mieux utiliser directement replace() ...
a++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 result = str.replace('|', '\n'); // ou result = str.replace('|', 10);
[edit] oups : doublement grillé![]()
enfin je confirme toujours que dans ce cas là il vaut mieux utiliser replace(char,char) que replaceAll()...
On n'a pas vraiment besoin d'utiliser les expressions régulière pour remplacer un caractère
a++
Merci Adiguba, mais comme je le précise dans ma quetion originale, je dois remplacer tous les caratères | par un (char(10).
Il faut bien lire la doc :
replace() affecute un simple parcours du tableau de char pour remplacer les caractères... tandis que replaceAll utilise une expression régulière pour reconstruire la chaine (tout comme replaceFirst()).Envoyé par replace
a++![]()
Effectivement, alors que son nom ne le laisse pas présager, replace() remplace effectivement toutes les occurences trouvées.
Merci pour cette bonne précision.![]()
Partager