Insert a String into another String in Java
Last Updated :
11 Dec, 2018
Improve
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"The various methods to do this are as follows:Input: originalString = "Computer Portal", stringToBeInserted = "Science ", index = 8 Output: "Computer Science Portal"
- Without using any pre-defined method
Approach:
- Get the Strings and the index.
- Create a new String
- Traverse the string till the specified index and copy this into the new String.
- Copy the String to be inserted into this new String
- Copy the remaining characters of the first string into the new String
- Return/Print the new String
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
- Using String.substring() method
Approach:
- Get the Strings and the index.
- Create a new String
- 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.
- Return/Print the new String
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
- Using StringBuffer.insert() method
Approach:
- Get the Strings and the index.
- Create a new StringBuffer
- Insert the stringToBeInserted into the original string using StringBuffer.insert() method.
- Return/Print the String from the StringBuffer using StringBuffer.toString() method.
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