Maîtriser le remplacement de chaînes Java : replace(), replaceAll() et replaceFirst() expliqués
La classe Java String offre trois puissantes méthodes de remplacement pour modifier le texte efficacement : replace(), replaceAll() et replaceFirst(). Chacune sert un but distinct et est optimisée pour différents cas d'usage.
Java String replace()
La méthode replace() effectue une substitution simple de caractère ou chaîne. Elle parcourt toute la chaîne et remplace chaque occurrence de la cible par le remplacement, retournant une nouvelle instance String. Cette méthode est idéale quand vous avez besoin d'une substitution directe, sans regex.
Syntaxe
public String replace(CharSequence target, CharSequence replacement)
Paramètres
target– La séquence de caractères que vous voulez remplacer.replacement– La séquence qui remplaceratarget.
Exemple
public class ReplaceExample {
public static void main(String[] args) {
String original = "the quick fox jumped";
System.out.println("Original: " + original);
System.out.println("After replace(\"fox\", \"dog\"): " + original.replace("fox", "dog"));
System.out.println("After replace('t', 'a'): " + original.replace('t', 'a'));
}
}
Sortie
Original: the quick fox jumped
After replace("fox", "dog"): the quick dog jumped
After replace('t', 'a'): ahe quick fox jumped
Java String replaceAll()
La méthode replaceAll() utilise une expression régulière (regex) pour identifier les correspondances dans toute la chaîne. Elle substitue ensuite chaque correspondance par le remplacement spécifié, retournant une nouvelle chaîne. Cette méthode est parfaite quand vous avez besoin de remplacements basés sur des motifs.
Signature
public String replaceAll(String regex, String replacement)
Paramètres
regex– Le motif regex pour localiser les sous-chaînes.replacement– La chaîne qui remplacera chaque correspondance.
Exemple
public class ReplaceAllExample {
public static void main(String[] args) {
String text = "Guru99 is a site providing free tutorials";
String withoutSpaces = text.replaceAll("\\s", "");
System.out.println(withoutSpaces);
}
}
Sortie
Guru99isasiteprovidingfreetutorials
Java String replaceFirst()
La méthode replaceFirst() se comporte comme replaceAll() mais n'affecte que la première correspondance trouvée. Elle parcourt depuis le début de la chaîne et s'arrête après le premier remplacement, la rendant utile quand seule une occurrence doit être modifiée.
Signature
public String replaceFirst(String regex, String replacement)
Paramètres
regex– Le motif regex qui identifie la sous-chaîne cible.replacement– La chaîne qui remplacera la première correspondance.
Exemple
public class ReplaceFirstExample {
public static void main(String[] args) {
String sentence = "This website providing free tutorials";
String updated = sentence.replaceFirst("s", "9");
System.out.println(updated);
}
}
Sortie
Thi9 website providing free tutorials
Choisir la bonne méthode
- Utilisez
replace()pour des substitutions simples, sans regex. - Choisissez
replaceAll()quand vous devez remplacer chaque correspondance d'un motif regex. - Optez pour
replaceFirst()si seule la première occurrence doit être changée.
Ces méthodes sont immuables ; elles n'altèrent jamais la chaîne originale mais retournent une nouvelle instance, assurant la thread-safety et un comportement prévisible dans les environnements concurrents.
Java
- Maîtriser les chaînes de caractères en Java : Création, méthodes et bonnes pratiques
- Maîtriser les représentations en chaînes dans les enums Java
- Types d'annotations Java : guide complet des annotations prédéfinies, personnalisées et méta
- Méthode Java String length() : Comment obtenir la taille d'une chaîne (Exemple)
- Maîtriser Java String.indexOf() : Localiser des sous-chaînes et exemples pratiques
- Comprendre Java String.charAt() : Syntaxe, type de retour, exceptions et exemple pratique
- Maîtriser la méthode Java String compareTo() : Syntaxe, cas d'usage et exemples pratiques
- Méthode Java String.contains() : Comment vérifier la présence de sous-chaînes – Exemples pratiques
- Maîtriser Java String.endsWith() : Comment vérifier les suffixes de chaînes avec exemples