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:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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));
        }
    }

    chevron_right

    
    

    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:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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));
        }
    }

    chevron_right

    
    

    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:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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));
        }
    }

    chevron_right

    
    

    Output:

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


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.