Pattern split() method in Java with examples


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

Updated on: 20-Nov-2019

416 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements