Java.util.Scanner.findWithinHorizon() 方法
描述
java.util.Scanner.findWithinHorizon(Pattern pattern,int horizon) 方法尝试查找指定模式的下一个匹配项。此方法搜索输入直到指定的搜索范围,忽略分隔符。 如果找到模式,则扫描程序会越过匹配的输入并返回与模式匹配的字符串。 如果没有检测到这样的模式,则返回 null 并且扫描仪的位置保持不变。 此方法可能会阻止等待与模式匹配的输入。 扫描器永远不会搜索超出其当前位置的水平代码点。 请注意,匹配可能会被地平线剪裁; 也就是说,如果视野更大,任意匹配结果可能会有所不同。
声明
以下是 java.util.Scanner.findWithinHorizon() 方法的声明
public String findWithinHorizon(Pattern pattern,int horizon)
参数
pattern − 指定要搜索的模式的字符串
返回值
此方法返回与指定模式匹配的文本。
异常
IllegalStateException − 如果此扫描仪已关闭
IllegalArgumentException − 如果 horizon 是负数
示例
下面的例子展示了 java.util.Scanner.findWithinHorizon() 方法的使用。
package com.tutorialspoint; import java.util.*; import java.util.regex.Pattern; public class ScannerDemo { public static void main(String[] args) { String s = "Hello World! 3 + 3.0 = 6"; // create a new scanner with the specified String Object Scanner scanner = new Scanner(s); // find a pattern of 2 letters before rld, with horizon of 10 System.out.println("" + scanner.findWithinHorizon(Pattern.compile("..rld"), 10)); // find a pattern of 2 letters before rld, with horizon of 20 System.out.println("" + scanner.findWithinHorizon(Pattern.compile("..rld"), 20)); // print the rest of the string System.out.println("" + scanner.nextLine()); // close the scanner scanner.close(); } }
让我们编译并运行上面的程序,这将产生以下结果 −
null World ! 3 + 3.0 = 6