java.util.Scanner.findWithinHorizon() 方法尝试查找指定模式的下一个匹配项。此方法搜索输入直至指定的搜索范围,忽略分隔符。如果找到该模式,扫描器将前进到匹配的输入并返回与该模式匹配的字符串。如果没有检测到这样的模式,则返回空值并且扫描仪的位置保持不变。此方法可能会阻止等待与模式匹配的输入。
扫描仪永远不会搜索超出其当前位置的水平代码点。请注意,火柴可能会被地平线剪掉;
语法
public String findWithinHorizon(Pattern pattern, int horizon)
参数
pattern | 指定要扫描的模式。 |
地平线 | 指定搜索范围。 |
返回值
返回与指定模式匹配的文本。
异常
- 如果扫描仪关闭,则抛出 IllegalStateException。
- 如果水平线为负,则抛出 IllegalArgumentException。 >
示例:
在下面的示例中,java.util.Scanner.findWithinHorizon() 方法返回下一个出现的指定的模式,忽略分隔符并在给定的范围内。
import java.util.*;
public class MyClass {
public static void main(String[] args) {
//要扫描的字符串
String MyString = "Hello Cello Hullo Hallo Jello";
//创建扫描仪
Scanner MyScan = new Scanner(MyString);
//打印以ullo结尾的五字模式,地平线为10
System.out.println(MyScan.findWithinHorizon(".ullo", 10));
//打印以ullo结尾的五字模式,地平线为20
System.out.println(MyScan.findWithinHorizon(".ullo", 20));
//打印该行的剩余部分
System.out.println(MyScan.nextLine());
//关闭扫描仪
MyScan.close();
}
}
上述代码的输出将是:
null
Hullo
Hallo Jello