Open In App

Insert a String into another String in Java

Improve
Improve
Like Article
Like
Save
Share
Report

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
    


Last Updated : 11 Dec, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads