Java Scanner findWithinHorizon()方法
java.util.Scanner.findWithinHorizon(Pattern pattern,int horizon) 方法试图找到指定图案的下一次出现。该方法通过输入搜索到指定的搜索地平线,在忽略分隔符。如果找到该模式的scanner 执行匹配的输入,并返回与该模式匹配的字符串。如果没有这样的模式被检测到则返回null,且scanner 的位置保持不变。此方法可能阻塞等待输入相匹配的模式。scanner将永远不会搜索超过超出其当前位置的horizon代码点。请注意,匹配可能被horizon剪裁;也就是说,任意匹配的结果可能会有所不同,如果horizon一直较大。
1 语法
public String findWithinHorizon(Pattern pattern,int horizon)
2 参数
pattern:一个字符串,指定要搜索的模式
3 返回值
此方法返回匹配指定模式的文本。
4 示例
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* java.util.Scanner.findWithinHorizon(Pattern pattern,int horizon)方法的例子
*/
import java.util.*;
import java.util.regex.Pattern;
public class Demo {
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
热门文章
优秀文章