Open In App

Insert a String into another String in Java

Last Updated : 11 Dec, 2018
Suggest changes
Share
Like Article
Like
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
    // 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
    // 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
    // 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 

Next Article

Similar Reads

Article Tags :
Practice Tags :