Skip to content
Related Articles

Related Articles

Improve Article

Replace a character at a specific index in a String in Java

  • Difficulty Level : Basic
  • Last Updated : 29 May, 2021

Given a String, the task is to replace a character at a specific index in this string in Java.

Examples: 

Input: String = "Geeks Gor Geeks", index = 6, ch = 'F'
Output: "Geeks For Geeks."

Input: String = "Geeks", index = 0, ch = 'g'
Output: "geeks"

Method 1: Using String Class

There is no predefined method in String Class to replace a specific character in a String, as of now. However, this can be achieved indirectly by constructing a new String with 2 different substrings, one from beginning till the specific index – 1, the new character at the specific index and the other from the index + 1 till the end.
Below is the implementation of the above approach:
 

Java




public class GFG {
 
    public static void main(String args[])
    {
 
        // Get the String
        String str = "Geeks Gor Geeks";
 
        // Get the index
        int index = 6;
 
        // Get the character
        char ch = 'F';
 
        // Print the original string
        System.out.println("Original String = " + str);
 
        str = str.substring(0, index) + ch
              + str.substring(index + 1);
 
        // Print the modified string
        System.out.println("Modified String = " + str);
    }
}
Output



Original String = Geeks Gor Geeks
Modified String = Geeks For Geeks

Method 2: Using StringBuilder

Unlike String Class, the StringBuilder class has a predefined method for this purpose – setCharAt(). Replace the character at the specific index by calling this method and passing the character and the index as the parameter.
Below is the implementation of the above approach:
 

Java




public class GFG {
 
    public static void main(String args[])
    {
 
        // Get the String
        String str = "Geeks Gor Geeks";
 
        // Get the index
        int index = 6;
 
        // Get the character
        char ch = 'F';
 
        // Print the original string
        System.out.println("Original String = " + str);
 
        StringBuilder string = new StringBuilder(str);
        string.setCharAt(index, ch);
 
        // Print the modified string
        System.out.println("Modified String = " + string);
    }
}
Output
Original String = Geeks Gor Geeks
Modified String = Geeks For Geeks

Method 3: Using StringBuffer

Like StringBuilder, the StringBuffer class has a predefined method for this purpose – setCharAt(). Replace the character at the specific index by calling this method and passing the character and the index as the parameter. StringBuffer is thread-safe. StringBuilder is faster when compared to StringBuffer, but is not thread-safe.

Below is the implementation of the above approach:
 

Java




public class GFG {
 
    public static void main(String args[])
    {
 
        // Get the String
        String str = "Geeks Gor Geeks";
 
        // Get the index
        int index = 6;
 
        // Get the character
        char ch = 'F';
 
        // Print the original string
        System.out.println("Original String = " + str);
 
        StringBuffer string = new StringBuffer(str);
        string.setCharAt(index, ch);
 
        // Print the modified string
        System.out.println("Modified String = " + string);
    }
}
Output
Original String = Geeks Gor Geeks
Modified String = Geeks For Geeks

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :