Introduction
Dans cet article, vous apprendrez quelques façons différentes de supprimer un caractère d’un objet String
en Java. Bien que la classe String
n’ait pas de méthode remove()
, vous pouvez utiliser des variantes de la méthode replace()
et de la méthode substring()
pour supprimer des caractères des chaînes.
Note: Les objets String
sont immuables, ce qui signifie qu’ils ne peuvent pas être modifiés après leur création. Toutes les méthodes de la classe String
décrites dans cet article renvoient un nouvel objet String
et ne modifient pas l’objet d’origine. Le type de chaîne que vous utilisez dépend des besoins de votre programme. En savoir plus sur d’autres types de classes de chaînes et pourquoi les chaînes sont immuables en Java.
La classe String
dispose des méthodes suivantes que vous pouvez utiliser pour remplacer ou supprimer des caractères :
replace(char oldChar, char newChar)
: Renvoie un nouvel objetString
qui remplace toutes les occurrences deoldChar
dans la chaîne donnée parnewChar
. Vous pouvez également utiliser la méthodereplace()
, dans le formatreplace(CharSequence target, CharSequence replacement)
, pour renvoyer un nouvel objetString
qui remplace une sous-chaîne dans la chaîne donnée.replaceFirst(String regex, String replacement)
: Retourne un nouvel objetString
qui remplace la première sous-chaîne correspondant à l’expression régulière dans la chaîne donnée par le remplacement.replaceAll(String regex, String replacement)
: Retourne un nouvel objetString
qui remplace chaque sous-chaîne correspondant à l’expression régulière dans la chaîne donnée par le remplacement.substring(int start, int end)
: Retourne un nouvel objetString
qui contient une sous-séquence de caractères actuellement contenue dans cette séquence. La sous-chaîne commence au début spécifié et s’étend jusqu’au caractère à l’index fin moins 1.
Remarquez que le premier argument pour les méthodes replaceAll()
et replaceFirst()
est une expression régulière. Vous pouvez utiliser une expression régulière pour supprimer un motif d’une chaîne.
Note: Vous devez utiliser des guillemets doubles pour indiquer les valeurs de chaîne littérales lorsque vous utilisez les méthodes replace()
. Si vous utilisez des guillemets simples, alors le JRE suppose que vous indiquez une constante de caractère et vous obtiendrez une erreur lors de la compilation du programme.
Supprimer un caractère d’une chaîne en Java
Vous pouvez supprimer toutes les occurrences d’un caractère d’une chaîne en Java en utilisant la méthode replace()
pour remplacer le caractère par une chaîne vide. L’exemple de code suivant supprime toutes les occurrences de minuscules « a
» de la chaîne donnée :
String str = "abc ABC 123 abc";
String strNew = str.replace("a", "");
Outputbc ABC 123 bc
Supprimer les espaces d’une chaîne en Java
Vous pouvez supprimer les espaces d’une chaîne en Java en utilisant la méthode replace()
pour remplacer les espaces par une chaîne vide. L’exemple de code suivant supprime tous les espaces de la chaîne donnée :
String str = "abc ABC 123 abc";
String strNew = str.replace(" ", "");
OutputabcABC123abc
Supprimer une sous-chaîne d’une chaîne en Java
Vous pouvez supprimer uniquement la première occurrence d’un caractère ou d’une sous-chaîne d’une chaîne en Java en utilisant la méthode replaceFirst()
pour remplacer le caractère ou la sous-chaîne par une chaîne vide. L’exemple de code suivant supprime la première occurrence de « ab
» de la chaîne donnée :
String str = "abc ABC 123 abc";
String strNew = str.replaceFirst("ab", "");
Outputc ABC 123 abc
Supprimer toutes les lettres minuscules d’une chaîne en Java
Vous pouvez utiliser une expression régulière pour supprimer les caractères qui correspondent à un motif donné d’une chaîne en Java en utilisant la méthode replace.All()
pour remplacer les caractères par une chaîne vide. L’exemple de code suivant supprime toutes les lettres minuscules de la chaîne donnée :
String str = "abc ABC 123 abc";
String strNew = str.replaceAll("([a-z])", "");
OutputABC 123
Supprimer le dernier caractère d’une chaîne en Java
Il n’existe pas de méthode spécifique pour remplacer ou supprimer le dernier caractère d’une chaîne, mais vous pouvez utiliser la méthode String substring() pour tronquer la chaîne. L’exemple de code suivant supprime le dernier caractère de la chaîne donnée :
String str = "abc ABC 123 abc";
String strNew = str.substring(0, str.length()-1);
Outputabc ABC 123 ab
Essayez-le
Le fichier d’exemple suivant définit une classe qui inclut tous les exemples de méthode fournis dans cet article, et imprime les résultats après avoir invoqué chaque méthode sur la chaîne donnée. Vous pouvez utiliser ce code d’exemple pour l’essayer vous-même sur différentes chaînes en utilisant différents motifs de correspondance et valeurs de remplacement.
Si vous avez Java installé, vous pouvez créer un nouveau fichier appelé JavaStringRemove.java
et ajouter le code suivant au fichier :
public class JavaStringRemove {
public static void main(String[] args) {
String str = "abc ABC 123 abc";
// Supprimer un caractère d'une chaîne en Java
System.out.println("String after removing all the 'a's = "+str.replace("a", ""));
// Supprimer les espaces d'une chaîne en Java
System.out.println("String after removing all the spaces = "+str.replace(" ", ""));
// Supprimer une sous-chaîne d'une chaîne en Java
System.out.println("String after removing the first 'ab' substring = "+str.replaceFirst("ab", ""));
// Supprimer toutes les lettres minuscules d'une chaîne en Java
System.out.println("String after removing all the lowercase letters = "+str.replaceAll("([a-z])", ""));
// Supprimer le dernier caractère d'une chaîne en Java
System.out.println("String after removing the last character = "+str.substring(0, str.length()-1));
}
}
Compilez et exécutez le programme :
- javac JavaStringRemove.java
- java JavaStringRemove
Vous obtenez la sortie suivante :
OutputString after removing all the 'a's = bc ABC 123 bc
String after removing all the spaces = abcABC123abc
String after removing the first 'ab' substring = c ABC 123 abc
String after removing all the lowercase letters = ABC 123
String after removing the last character = abc ABC 123 ab
Chaque méthode dans la classe d’exemple JavaStringRemove
opère sur la chaîne donnée. La sortie montre que les caractères spécifiés dans chaque méthode ont été supprimés de la chaîne.
Conclusion
Dans cet article, vous avez appris différentes façons de supprimer des caractères des chaînes en Java en utilisant des méthodes de la classe String
, notamment replace()
, replaceAll()
, replaceFirst()
et substring()
. Continuez votre apprentissage avec d’autres tutoriels Java.
Source:
https://www.digitalocean.com/community/tutorials/java-remove-character-string