bonjour y a t'il une fonction déja implémenté dans java pour remplacer le ième caractère d'une string par un autre caractère?
merci de vos réponses
djack
bonjour y a t'il une fonction déja implémenté dans java pour remplacer le ième caractère d'une string par un autre caractère?
merci de vos réponses
djack
cherche du coté de replaceAll ou replaceFirst de la classe string...
tu devrais trouver ton bonheur
Je ne sais pas si cela correspond vraiment à ce qu'il veut faire...
Si tu veux remplacer le caractère à l'indice i par un autre caractère, je ne vois pas de méthode implémentée permettant de le faire directement. Il va falloir passer par un tableau de char temporaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public String changeChar(String chaine, int idx, char monCharRempl) { char[] tab = chaine.toCharArray(); tab[idx - 1] = monCharRempl; return String.valueOf(tab); }
Le mieux c'est d'aller voir là
http://java.sun.com/javase/6/docs/api/
Bonjour,
Il n'y a pas de fonction toute faite pour ça, mais tu peux le faire rapidement avec l'exemple de DevTeam ou alors tu peux passer par subString :
Ca tient sur une ligne et tu peux en faire facilement une méthode.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 String s = "12345"; // Remplace le 3 (position 2) par un 4 int positionRemplacee = 2; char nouveauChar = '4' s = s.subString(0, positionRemplacee) + nouveauChar + s.subString(positionRemplacee+1); // Affiche 12445 System.out.println(s);
Salut,
Heu... Pour les manipulations de String il faut passer par un StringBuffer (voir StringBuilder en Java 5.0) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 String s = "12345"; StringBuffer buffer = new StringBuffer(s); buffer.setCharAt(2, '4'); s = buffer.toString();
a++
PS : et replaceAll() est apparut dans Java 1.4
Partager