Scanner skip() method in Java with Examples - GeeksforGeeks

11 Oct, 2018
The skip(Pattern pattern) method of java.util.Scanner class skips input that matches the specified pattern, ignoring the delimiters. The function skips the input if an anchored match of the specified pattern succeeds it.
Syntax:
public Scanner skip(Pattern pattern)
Parameters: The function accepts a mandatory parameter pattern which specifies a string as pattern to be skipped.
Return Value: The function returns this scanner
Exceptions: This method throws following exceptions:
NoSuchElementException: when the specified pattern is not found
IllegalStateException: when this scanner is closed
Below programs illustrate the above function:
Program 1:
// Java program to illustrate the// skip() method of Scanner class in Java  import java.util.*;import java.util.regex.Pattern;  public class GFG1 {    public static void main(String[] argv)        throws Exception    {          String s = "GeeksForGeeks - "                   + "A Computer Science Portal for Geeks";          System.out.println("String trying to get input:\n"                           + s);          // create a new scanner with        // the specified String Object        Scanner scanner = new Scanner(s);          // skip the word that        // matches with the pattern ..eks        System.out.println("Skipping 5 letter words"                           + " that ends with 'eks'\n");          scanner.skip(Pattern.compile("..eks"));          // print a line of the scanner        System.out.println("Input Scanner String: \n"                           + scanner.nextLine());          // close the scanner        scanner.close();    }}
String trying to get input:
GeeksForGeeks - A Computer Science Portal for Geeks
Skipping 5 letter words that ends with 'eks'

Input Scanner String: 
ForGeeks - A Computer Science Portal for Geeks

Program 2: To demonstrate NoSuchElementException
// Java program to illustrate the// skip() method of Scanner class in Java  import java.util.*;import java.util.regex.Pattern;  public class GFG1 {    public static void main(String[] argv)        throws Exception    {          try {            String s = "GeeksForGeeks - "                       + "A Computer Science Portal for Geeks";              System.out.println("String trying to get input:\n"                               + s);              // create a new scanner with            // the specified String Object            Scanner scanner = new Scanner(s);              // skip the word that            // matches with the pattern and            System.out.println("Skipping 3 letter words"                               + " and\n");              scanner.skip(Pattern.compile("and"));              // print a line of the scanner            System.out.println("Input Scanner String: \n"                               + scanner.nextLine());              // close the scanner            scanner.close();        }          catch (Exception e) {            System.out.println("Exception thrown: " + e);        }    }}
String trying to get input:
GeeksForGeeks - A Computer Science Portal for Geeks
Skipping 3 letter words and

Exception thrown: java.util.NoSuchElementException

Program 3: To demonstrate IllegalStateException
// Java program to illustrate the// skip() method of Scanner class in Java  import java.util.*;import java.util.regex.Pattern;  public class GFG1 {    public static void main(String[] argv)        throws Exception    {          try {            String s = "GeeksForGeeks - "                       + "A Computer Science Portal for Geeks";              System.out.println("String trying to get input:\n"                               + s);              // create a new scanner with            // the specified String Object            Scanner scanner = new Scanner(s);              // close the scanner            scanner.close();            System.out.println("Scanner Closed");              // skip the word that            // matches with the pattern and            System.out.println("Trying to Skip 3 letter words"                               + " and\n");              scanner.skip(Pattern.compile("and"));              // print a line of the scanner            System.out.println("Input Scanner String: \n"                               + scanner.nextLine());        }          catch (Exception e) {            System.out.println("Exception thrown: " + e);        }    }}
String trying to get input:
GeeksForGeeks - A Computer Science Portal for Geeks
Scanner Closed
Trying to Skip 3 letter words and

Exception thrown: java.lang.IllegalStateException: Scanner closed

The skip(String pattern) method of java.util.Scanner class skips the input that matches with the pattern constructed from the specified string. The skip(pattern) and skip(Pattern.compile(pattern)) behaves exactly the same way on being called.
Syntax:
public Scanner skip(String pattern)
Parameters: The function accepts a mandatory parameter string pattern which specifies a string denoting the pattern to skip over
Return Value: The function returns this scanner
Exceptions: This method throws IllegalStateException when this scanner is closed
Below programs illustrate the above function:
Program 1:
// Java program to illustrate the// skip() method of Scanner class in Java  import java.util.*;  public class GFG1 {    public static void main(String[] argv)        throws Exception    {          String s = "GeeksForGeeks - "                   + "A Computer Science Portal for Geeks";          System.out.println("String trying to get input:\n"                           + s);          // create a new scanner with        // the specified String Object        Scanner scanner = new Scanner(s);          // skip the word that        // matches with the pattern ..eks        System.out.println("Skipping 5 letter words"                           + " that ends with 'eks'\n");          scanner.skip("..eks");          // print a line of the scanner        System.out.println("Input Scanner String: \n"                           + scanner.nextLine());          // close the scanner        scanner.close();    }}
String trying to get input:
GeeksForGeeks - A Computer Science Portal for Geeks
Skipping 5 letter words that ends with 'eks'

Input Scanner String: 
ForGeeks - A Computer Science Portal for Geeks

Program 2: To demonstrate IllegalStateException
// Java program to illustrate the// skip() method of Scanner class in Java  import java.util.*;  public class GFG1 {    public static void main(String[] argv)        throws Exception    {          try {            String s = "GeeksForGeeks - "                       + "A Computer Science Portal for Geeks";              System.out.println("String trying to get input:\n"                               + s);              // create a new scanner with            // the specified String Object            Scanner scanner = new Scanner(s);              // close the scanner            scanner.close();            System.out.println("Scanner Closed");              // skip the word that            // matches with the pattern and            System.out.println("Trying to Skip 3 letter words"                               + " and\n");              scanner.skip("and");              // print a line of the scanner            System.out.println("Input Scanner String: \n"                               + scanner.nextLine());        }          catch (Exception e) {            System.out.println("Exception thrown: " + e);        }    }}
String trying to get input:
GeeksForGeeks - A Computer Science Portal for Geeks
Scanner Closed
Trying to Skip 3 letter words and

Exception thrown: java.lang.IllegalStateException: Scanner closed

Reference: https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#skip(java.util.regex.Pattern)
Java - util package
Java-Functions
Java-I/O
Java
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Object Oriented Programming (OOPs) Concept in Java
HashMap in Java with Examples
Stream In Java
Interfaces in Java
How to iterate any Map in Java
ArrayList in Java
Initialize an ArrayList in Java
Stack Class in Java
Multidimensional Arrays in Java
Singleton Class in Java