Java Basics:Java Library Methods-4
Java String Methods
Java String split()
The Java String split() method divides the string at the specified regex and returns an array of substrings.
The syntax of the string split()
method is:
string.split(String regex, int limit)
Here, string is an object of the String
class.
split() Parameters
The string split()
method can take two parameters:
- regex - the string is divided at this regex (can be strings)
- limit (optional) - controls the number of resulting substrings
If the limit
parameter is not passed, split()
returns all possible substrings.
split() Return Value
- returns an array of substrings
Note: If the regular expression passed to split()
is invalid, the split()
method raises PatternSyntaxExpression
exception.
Example 1: split() Without limit Parameter
// importing Arrays to convert array to string
// used for printing arrays
import java.util.Arrays;
class Main {
public static void main(String[] args) {
String vowels = "a::b::c::d:e";
// splitting the string at "::"
// storing the result in an array of strings
String[] result = vowels.split("::");
// converting array to string and printing it
System.out.println("result = " + Arrays.toString(result));
}
}
Output
result = [a, b, c, d:e]
Here, we split the string at ::
. Since the limit
parameter is not passed, the returned array contains all the substrings.
split() With limit Parameter
- If the
limit
parameter is 0 or negative,split()
returns an array containing all substrings. - If the
limit
parameter is positive (let's sayn
),split()
returns the maximum ofn
substrings.
Example 2: split() With limit Parameter
// importing Arrays to convert array to string
import java.util.Arrays;
class Main {
public static void main(String[] args) {
String vowels = "a:bc:de:fg:h";
// splitting array at ":"
// limit is -2; array contins all substrings
String[] result = vowels.split(":", -2);
System.out.println("result when limit is -2 = " + Arrays.toString(result));
// limit is 0; array contains all substrings
result = vowels.split(":", 0);
System.out.println("result when limit is 0 = " + Arrays.toString(result));
// limit is 2; array contains a maximum of 2 substrings
result = vowels.split(":", 2);
System.out.println("result when limit is 2 = " + Arrays.toString(result));
// limit is 4; array contains a maximum of 4 substrings
result = vowels.split(":", 4);
System.out.println("result when limit is 4 = " + Arrays.toString(result));
// limit is 10; array contains a maximum of 10 substrings
result = vowels.split(":", 10);
System.out.println("result when limit is 10 = " + Arrays.toString(result));
}
}
Output
result when limit is -2 = [a, bc, de, fg, h] result when limit is 0 = [a, bc, de, fg, h] result when limit is 2 = [a, bc:de:fg:h] result when limit is 4 = [a, bc, de, fg:h] result when limit is 10 = [a, bc, de, fg, h]
Note: The split() method takes regex as the first argument. If you need to use special characters such as: \
, |
, ^
, *
, +
etc, you need to escape these characters. For example, we need to use \\+
to split at +
.
Example 3: split() at the + character
// importing Arrays to convert array to string
// used for printing arrays
import java.util.Arrays;
class Main {
public static void main(String[] args) {
String vowels = "a+e+f";
// splitting the string at "+"
String[] result = vowels.split("\\+");
// converting array to string and printing it
System.out.println("result = " + Arrays.toString(result));
}
}
Output
result = [a, e, f]
Here, to split a string at +
, we have used \\+
. It's because +
is a special character (has a special meaning in regular expressions).
Comments
Post a Comment