Supprimer un caractere ds une chaine en java
Résolu
sas202010
-
danimo -
danimo -
Bonjour,
je veux savoir comment faire pour supprimer un caractere dans un chaine de caractére
je veux savoir comment faire pour supprimer un caractere dans un chaine de caractére
3 réponses
-
Salut,
String carAsup = "e"; // supposons qu'il n'y a qu'un caractère à supprimer ou si plusieurs n'enlever que le 1er String ch = "eabcdefgh"; String chNew = ""; int inSup = ch.indexOf(carAsup); if(inSup >= 0) { chNew = ch.substring(0,inSup) + ch.substring(inSup +1); System.out.println("chNew = " + "\"" + chNew + "\""); } else System.out.println("Il n'y a pas de " + carAsup + " dans la chaîne " + ch); //Si nous devons supprimer tous les 'e' ch = "eabcdefghewxyze"; chNew = ch.replaceAll(carAsup,""); System.out.println("chNew = " + "\"" + chNew + "\""); // Si autres cas, préciser
Cordialement,
Dan
-
Déjà il faut savoir qu'un String ne se modifie pas, peu importe les méthodes que tu pourras utiliser ce sera un nouveau String qui sera créé.
Sachant cela il y a plusieurs possibilités qui s'offre à toi, et cela va dépendre de la manière dont tu définis quel est le caractère à supprimer.
Le plus simple est surement d'utiliser substring avant et après le caractère à supprimer, puis les recoller. Après question performance ça se discute, et on pourrait préférer traiter directement le tableau de char donné par toCharArray(), à toi de choisir... -
tu peux faire 2 subString, en éliminant le caractère
par exemple la chaine est : abcdefgh, et tu dois supprimer le 'e', tu écris S1= S.SubString(0,3) et S2= S.SubString(5,7)
puis tu fais une concatenation pour S1 , S2...