In this article, we will discuss about how to get substring (partial string) using String’s substring() method
1. String’s substring() method:
- This String method returns substring for the specified begin value and end value
Note:
- there are 2 variants or overloaded substring() methods
- 1st variant returns substring starting from specified index-position till length
- Whereas 2nd variant returns substring starting from specified index-position to specified end index-position
- In addition to this, there is one String method similar to 2nd variant i.e.; subSequence() method
1.1 Method Signature:
public String substring(int beginIndex);
public String substring(int beginIndex, int endIndex);
public CharSequence subSequence(int beginIndex, int endIndex);
1.2 Parameters:
- beginIndex –> start index (from where string need to be extracted)
- endIndex –> end index (till where string need to be extracted)
1.3 Returns:
substring() method | Returns |
public String substring(int beginIndex); | Returns substring from the invoking string, starting from specified begin index-position |
public String substring(int beginIndex, int endIndex); | Returns substring from the invoking string, starting from specified begin index-position till end index-position |
public CharSequence subSequence(int beginIndex, int endIndex); | very similar to substring(beginIndex, endIndex);
Returns char sequence from the invoking string, starting from specified begin index-position till end index-position |
1.4 Throws:
- IndexOutOfBoundsException, if index value supplied/passed falls out of range
- IndexOutOfBoundsException is thrown, if the input index value is out of range i.e.;
- Index-position for begin-index is negative (<0)
- Index-position for begin-index is greater than length()-1
- Index-position for end-index is greater than length of the String
2. Examples on substring() method:
2.1 To get substring starting from specified begin index-position
Method Signature:
public String substring(int beginIndex);
StringSubStringMethod.java
package in.bench.resources.string.methods;
public class StringSubStringMethod {
public static void main(String[] args) {
// Example 1: to get substring() -
// starting from 10th index-position
String testStr1 = "Java is a super cool language";
String subString1 = testStr1.substring(10);
System.out.println("1st substring(10) is : "
+ subString1);
// Example 2: to get substring() -
// starting from 24th index-position
String testStr2 = "BenchResources.Net is a Java weblog";
String subString2 = testStr2.substring(24);
System.out.println("\n2nd substring(24) is : "
+ subString2);
// Example 3: to get substring() -
// starting from 13th index-position
String testStr3 = "String class has useful methods";
String subString3 = testStr3.substring(13);
System.out.println("\n3rd substring(13) is : "
+ subString3);
}
}
Output:
1st substring(10) is : super cool language
2nd substring(24) is : Java weblog
3rd substring(13) is : has useful methods
2.2 To get substring starting from specified begin index-position till specified end index-position
Method Signature:
public String substring(int beginIndex, int endIndex);
StringSubStringMethod2.java
package in.bench.resources.string.methods;
public class StringSubStringMethod2 {
public static void main(String[] args) {
// Example 1: to get substring() -
// starting from 10th till 20th index-position
String testStr1 = "Java is a super cool language";
String subString1 = testStr1.substring(10, 20);
System.out.println("1st substring(10, 20) is : "
+ subString1);
// Example 2: to get substring() -
// starting from 24th till 28th index-position
String testStr2 = "BenchResources.Net is a Java weblog";
String subString2 = testStr2.substring(24, 28);
System.out.println("\n2nd substring(24, 28) is : "
+ subString2);
// Example 3: to get substring() -
// starting from 7th till 23rd index-position
String testStr3 = "String class has useful methods";
String subString3 = testStr3.substring(7, 23);
System.out.println("\n3rd substring(7, 23) is : "
+ subString3);
}
}
Output:
1st substring(10, 20) is : super cool
2nd substring(24, 28) is : Java
3rd substring(7, 23) is : class has useful
2.3 To get char sequence starting from specified begin index-position till specified end index-position
- Note: very similar to substring(beginIndex, endIndex);
Method Signature:
public CharSequence subSequence(int beginIndex, int endIndex);
StringSubSequenceMethod.java
package in.bench.resources.string.methods;
public class StringSubSequenceMethod {
public static void main(String[] args) {
// Example 1: to get subSequence() -
// starting from 10th till 20th index-position
String testStr1 = "Java is a super cool language";
CharSequence charSequence1 = testStr1.subSequence(10, 20);
System.out.println("1st subSequence(10, 20) is : "
+ charSequence1);
// Example 2: to get subSequence() -
// starting from 24th till 28th index-position
String testStr2 = "BenchResources.Net is a Java weblog";
CharSequence charSequence2 = testStr2.subSequence(24, 28);
System.out.println("\n2nd subSequence(24, 28) is : "
+ charSequence2);
// Example 3: to get subSequence() -
// starting from 7th till 23rd index-position
String testStr3 = "String class has useful methods";
CharSequence charSequence3 = testStr3.subSequence(7, 23);
System.out.println("\n3rd subSequence(7, 23) is : "
+ charSequence3);
}
}
Output:
1st subSequence(10, 20) is : super cool
2nd subSequence(24, 28) is : Java
3rd subSequence(7, 23) is : class has useful
Hope, you found this article very helpful. If you have any suggestions or want to contribute any other way or tricky situation you faced during Interview hours, then share with us. We will include that code here.
Related Articles:
- Java – String charAt(int index) method
- Java – String compareTo(String anotherString) method
- Java – String compareToIgnoreCase(String str) method
- Java – String concat(String str) method
- Java – String contains(CharSequence s) method
- Java – String contentEquals(StringBuffer sb) method
- Java – String copyValueOf(char[] data) method (2)
- Java – String endsWith(String suffix) method
- Java – String equals(Object anObject) method
- Java – String equalsIgnoreCase(Object anObject) method
- Java – String format(String format, Object… args) method
- Java – String getBytes() method (4)
- Java – String getChars() method
- Java – String hashCode() method
- Java – String indexOf() method (4)
- Java – String intern() method
- Java – String isEmpty() method
- Java – String join() method (2)
- Java – String lastIndexOf() method (4)
- Java – String length() method
- Java – String matches(String regex) method
- Java – String regionMatches() method (2)
- Java – String replace(char oldChar, char newChar) method
- Java – String replace(CharSequence target, CharSequence replacement) method
- Java – String replaceAll(String regex, String replacement) method
- Java – String replaceFirst(String regex, String replacement) method
- Java – String split(String regex) method
- Java – String split(String regex, int limit) method
- Java – String startsWith(String prefix) method
- Java – String startsWith(String prefix, int toffset) method
- Java – String subSequence(int beginIndex, int endIndex) method
- Java – String substring(int beginIndex) method
- Java – String substring(int beginIndex, int endIndex) method
- Java – String toCharArray() method
- Java – String toLowerCase() method (2)
- Java – String toUpperCase() method (2)
- Java – String toString() method
- Java – String trim() method
- Java – String valueOf() method (9)
References:
- https://docs.oracle.com/javase/tutorial/essential/concurrency/immutable.html
- https://docs.oracle.com/javase/tutorial/essential/concurrency/imstrat.html
- https://docs.oracle.com/javase/tutorial/java/data/strings.html
- https://docs.oracle.com/javase/8/docs/api/java/lang/String.html
- https://docs.oracle.com/javase/8/docs/api/java/lang/class-use/String.html
- https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuffer.html
- https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html
Happy Coding !!
Happy Learning !!