Saturday, October 18, 2025
HomeLanguagesJavaInsert a String into another String in Java

Insert a String into another String in Java

Given a String, the task is to insert another string in between the given String at a particular specified index in Java.

Examples:

Input: originalString = "GeeksGeeks", 
              stringToBeInserted = "For", 
              index = 4
Output: "GeeksForGeeks"


Input: originalString = "Computer Portal", 
              stringToBeInserted = "Science ", 
              index = 8
Output: "Computer Science Portal"

The various methods to do this are as follows:

  1. Without using any pre-defined method

    Approach:

    1. Get the Strings and the index.
    2. Create a new String
    3. Traverse the string till the specified index and copy this into the new String.
    4. Copy the String to be inserted into this new String
    5. Copy the remaining characters of the first string into the new String
    6. Return/Print the new String

    Below is the implementation of the above approach:

    Program:




    // Java program to insert a string into another string
    // without using any pre-defined method
      
    import java.lang.*;
      
    class GFG {
      
        // Function to insert string
        public static String insertString(
            String originalString,
            String stringToBeInserted,
            int index)
        {
      
            // Create a new string
            String newString = new String();
      
            for (int i = 0; i < originalString.length(); i++) {
      
                // Insert the original string character
                // into the new string
                newString += originalString.charAt(i);
      
                if (i == index) {
      
                    // Insert the string to be inserted
                    // into the new string
                    newString += stringToBeInserted;
                }
            }
      
            // return the modified String
            return newString;
        }
      
        // Driver code
        public static void main(String[] args)
        {
      
            // Get the Strings
            String originalString = "GeeksGeeks";
            String stringToBeInserted = "For";
            int index = 4;
      
            System.out.println("Original String: "
                               + originalString);
            System.out.println("String to be inserted: "
                               + stringToBeInserted);
            System.out.println("String to be inserted at index: "
                               + index);
      
            // Insert the String
            System.out.println("Modified String: "
                               + insertString(originalString,
                                              stringToBeInserted,
                                              index));
        }
    }

    
    
    Output:

    Original String: GeeksGeeks
    String to be inserted: For
    String to be inserted at index: 4
    Modified String: GeeksForGeeks
    
  2. Using String.substring() method

    Approach:

    1. Get the Strings and the index.
    2. Create a new String
    3. Insert the substring from 0 to the specified (index + 1) using substring(0, index+1) method. Then insert the string to be inserted into the string. Then insert the remaining part of the original string into the new string using substring(index+1) method.
    4. Return/Print the new String

    Below is the implementation of the above approach:

    Program:




    // Java program to insert a string into another string
    // without using any pre-defined method
      
    import java.lang.*;
      
    class GFG {
      
        // Function to insert string
        public static String insertString(
            String originalString,
            String stringToBeInserted,
            int index)
        {
      
            // Create a new string
            String newString = originalString.substring(0, index + 1)
                               + stringToBeInserted
                               + originalString.substring(index + 1);
      
            // return the modified String
            return newString;
        }
      
        // Driver code
        public static void main(String[] args)
        {
      
            // Get the Strings
            String originalString = "GeeksGeeks";
            String stringToBeInserted = "For";
            int index = 4;
      
            System.out.println("Original String: "
                               + originalString);
            System.out.println("String to be inserted: "
                               + stringToBeInserted);
            System.out.println("String to be inserted at index: "
                               + index);
      
            // Insert the String
            System.out.println("Modified String: "
                               + insertString(originalString,
                                              stringToBeInserted,
                                              index));
        }
    }

    
    
    Output:

    Original String: GeeksGeeks
    String to be inserted: For
    String to be inserted at index: 4
    Modified String: GeeksForGeeks
    
  3. Using StringBuffer.insert() method

    Approach:

    1. Get the Strings and the index.
    2. Create a new StringBuffer
    3. Insert the stringToBeInserted into the original string using StringBuffer.insert() method.
    4. Return/Print the String from the StringBuffer using StringBuffer.toString() method.

    Below is the implementation of the above approach:

    Program:




    // Java program to insert a string into another string
    // without using any pre-defined method
      
    import java.lang.*;
      
    class GFG {
      
        // Function to insert string
        public static String insertString(
            String originalString,
            String stringToBeInserted,
            int index)
        {
      
            // Create a new StringBuffer
            StringBuffer newString
                = new StringBuffer(originalString);
      
            // Insert the strings to be inserted
            // using insert() method
            newString.insert(index + 1, stringToBeInserted);
      
            // return the modified String
            return newString.toString();
        }
      
        // Driver code
        public static void main(String[] args)
        {
      
            // Get the Strings
            String originalString = "GeeksGeeks";
            String stringToBeInserted = "For";
            int index = 4;
      
            System.out.println("Original String: "
                               + originalString);
            System.out.println("String to be inserted: "
                               + stringToBeInserted);
            System.out.println("String to be inserted at index: "
                               + index);
      
            // Insert the String
            System.out.println("Modified String: "
                               + insertString(originalString,
                                              stringToBeInserted,
                                              index));
        }
    }

    
    
    Output:

    Original String: GeeksGeeks
    String to be inserted: For
    String to be inserted at index: 4
    Modified String: GeeksForGeeks
    
RELATED ARTICLES

Most Popular

Dominic
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11954 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS