Supprimer un caractere ds une chaine en java [Résolu/Fermé]

Signaler
-
 Utilisateur anonyme -
Bonjour,

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

10
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 61365 internautes nous ont dit merci ce mois-ci

Messages postés
16023
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
1 septembre 2020
2 662
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...
Messages postés
212
Date d'inscription
lundi 31 janvier 2011
Statut
Membre
Dernière intervention
14 mai 2014
13
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...