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 上找到。