Java Replace Character At Specific Position Of String?

01jayss picture 01jayss · Jul 21, 2012 · Viewed 138.2k times · Source

I am trying to replace a character at a specific position of a string.

For example:

String str = "hi";

replace string position #2 (i) to another letter "k"

How would I do this? Thanks!

Answer

waldyr.ar picture waldyr.ar · Jul 21, 2012

Petar Ivanov's answer to replace a character at a specific index in a string question

String are immutable in Java. You can't change them.

You need to create a new string with the character replaced.

String myName = "domanokz";
String newName = myName.substring(0,4)+'x'+myName.substring(5);

Or you can use a StringBuilder:

StringBuilder myName = new StringBuilder("domanokz");
myName.setCharAt(4, 'x');

System.out.println(myName);