Remplacer un caractère à un index spécifique dans une chaîne en Java

1. Introduction

Dans ce didacticiel rapide, nous allons montrer comment remplacer un caractère à un index spécifique dans une chaîne en Java.

Nous présenterons quatre implémentations de méthodes simples qui prennent la chaîne d' origine , un caractère et l'index où nous devons le remplacer.

2. Utilisation d'un tableau de caractères

Commençons par une approche simple, en utilisant un tableau de char.

Ici, l'idée est de convertir la chaîne en char [] , puis d'affecter le nouveau char à l'index donné. Enfin, nous construisons la chaîne souhaitée à partir de ce tableau.

public String replaceCharUsingCharArray(String str, char ch, int index) { char[] chars = str.toCharArray(); chars[index] = ch; return String.valueOf(chars); }

Il s'agit d'une approche de conception de bas niveau et nous donne beaucoup de flexibilité.

3. Utilisation de la méthode substring

Une approche de niveau supérieur consiste à utiliser la méthode substring () de la classe String .

Il va créer une nouvelle chaîne en concaténant la sous - chaîne de l'original chaîne avant l'index avec le nouveau caractère et l'original sous - chaîne de chaîne après l'indice:

public String replaceChar(String str, char ch, int index) { return str.substring(0, index) + ch + str.substring(index+1); } 

4. Utilisation de StringBuilder

Nous pouvons obtenir le même effet en utilisant StringBuilder . Nous pouvons remplacer le caractère à un index spécifique en utilisant la méthode setCharAt ():

public String replaceChar(String str, char ch, int index) { StringBuilder myString = new StringBuilder(str); myString.setCharAt(index, ch); return myString.toString(); }

5. Conclusion

Dans cet article, nous nous sommes concentrés sur plusieurs façons de remplacer un caractère à un index spécifique dans une chaîne à l' aide de Java .

Les instances de chaîne sont immuables, nous devons donc créer une nouvelle chaîne ou utiliser StringBuilder pour nous donner une certaine mutabilité.

Comme d'habitude, le code source complet du didacticiel ci-dessus est disponible à l'adresse over sur GitHub.