The Pattern class of the java.util.regex package is a compiled representation of a regular expression.
The split() method of this class accepts a CharSequence object, representing the input string as a parameter and, at each match, it splits the given string into a new token and returns the string array holding all the tokens.
Example
import java.util.regex.Pattern;
public class SplitMethodExample {
public static void main( String args[] ) {
//Regular expression to find digits
String regex = "(\\s)(\\d)(\\s)";
String input = " 1 Name:Radha, age:25 2 Name:Ramu, age:32 3 Name:Rajev, age:45";
//Compiling the regular expression
Pattern pattern = Pattern.compile(regex);
//verifying whether match occurred
if(pattern.matcher(input).find())
System.out.println("Given String contains digits");
else
System.out.println("Given String does not contain digits");
//Splitting the string
String strArray[] = pattern.split(input);
for(int i=0; i<strArray.length; i++){
System.out.println(strArray[i]);
}
}
}Output
Given String contains digits Name:Radha, age:25 Name:Ramu, age:32 Name:Rajev, age:45
This method also accepts an integer value representing the number of times the pattern applied. i.e. you can decide the length of the resultant array by specifying the limit value.
Example
import java.util.regex.Pattern;
public class SplitMethodExample {
public static void main( String args[] ) {
//Regular expression to find digits
String regex = "(\\s)(\\d)(\\s)";
String input = " 1 Name:Radha, age:25 2 Name:Ramu, age:32" + " 3 Name:Rajeev, age:45 4 Name:Raghu, age:35" + " 5 Name:Rahman, age:30";
//Compiling the regular expression
Pattern pattern = Pattern.compile(regex);
//verifying whether match occurred
if(pattern.matcher(input).find())
System.out.println("Given String contains digits");
else
System.out.println("Given String does not contain digits");
//Splitting the string
String strArray[] = pattern.split(input, 4);
for(int i=0; i<strArray.length; i++){
System.out.println(strArray[i]);
}
}
}Output
Given String contains digits Name:Radha, age:25 Name:Ramu, age:32 Name:Rajeev, age:45 4 Name:Raghu, age:35 5 Name:Rahman, age:30