1. 概述

java.util.Scanner 类有许多方法可用于验证输入。其中之一就是 skip() 方法。

在本教程中,我们将学习 skip() 方法的作用以及如何使用它。

2. Scanner.skip() 方法

skip() 方法属于 Java Scanner 类。它的作用是跳过与方法参数中指定模式匹配的输入,忽略分隔符。

2.1. 语法

skip() 方法有 两个重载的方法签名

  • skip(Pattern pattern) - 接受一个参数,即 Scanner 应该跳过的模式
  • skip(String pattern) - 接受一个字符串参数,指定要跳过的模式

2.2. 返回值

skip() 返回一个满足方法参数中指定模式的 Scanner 对象。它也可能抛出两种类型的异常:如果扫描器已关闭,则抛出 IllegalStateException;如果找不到指定模式的匹配,则抛出 NoSuchElementException

请注意,可以使用一个无法匹配任何内容的模式(例如 skip("[ \\t]*"))来安全地跳过某些内容。

3. 示例

如前所述,skip 方法有两个重载形式。首先,我们来看看如何使用 skip 方法与 Pattern

String str = "Java scanner skip tutorial"; 
Scanner sc = new Scanner(str); 
sc.skip(Pattern.compile(".ava"));

这里,我们使用了 skip(Pattern) 方法跳过了符合 "java" 模式的文本。

同样,skip(String) 方法会跳过给定字符串构造的模式匹配的文本。在示例中,我们跳过了字符串 "Java":

String str = "Java scanner skip tutorial";
Scanner sc = new Scanner(str); 
sc.skip("Java");

简而言之,无论使用模式还是字符串,这两种方法的结果都是相同的

4. 总结

在这篇短文中,我们了解了如何使用 java.util.Scanner 类的 skip() 方法,无论是字符串参数还是 Pattern 参数。

如往常一样,讨论中使用的代码可在 GitHub 上找到。