Sostituisci un carattere a un indice specifico in una stringa in Java

1. Introduzione

In questo breve tutorial, dimostreremo come sostituire un carattere in un indice specifico in una stringa in Java.

Presenteremo quattro implementazioni di metodi semplici che accettano la stringa originale , un carattere e l'indice in cui è necessario sostituirlo.

2. Utilizzo di una matrice di caratteri

Cominciamo con un approccio semplice, utilizzando un array di char.

Qui, l'idea è di convertire la stringa in char [] e quindi assegnare il nuovo carattere all'indice dato. Infine, costruiamo la stringa desiderata da quell'array.

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

Questo è un approccio progettuale di basso livello e ci offre molta flessibilità.

3. Utilizzo del metodo della sottostringa

Un approccio di livello superiore consiste nell'usare il metodo substring () della classe String .

Si creerà una nuova stringa concatenando il sottostringa dell'originale String prima che l'indice con il nuovo carattere e sottostringa dell'originale String dopo l'indice:

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

4. Utilizzo di StringBuilder

Possiamo ottenere lo stesso effetto usando StringBuilder . Possiamo sostituire il carattere in un indice specifico utilizzando il metodo setCharAt ():

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

5. conclusione

In questo articolo, ci siamo concentrati su diversi modi per sostituire un carattere in un indice specifico in una stringa utilizzando Java .

Le istanze di stringa sono immutabili, quindi dobbiamo creare una nuova stringa o utilizzare StringBuilder per darci un po 'di mutabilità.

Come al solito, il codice sorgente completo per il tutorial sopra è disponibile su GitHub.