Java.util.Scanner 类

java.util.Scanner.findWithinHorizo​​n() 方法尝试查找指定模式的下一个匹配项。此方法搜索输入直至指定的搜索范围,忽略分隔符。如果找到该模式,扫描器将前进到匹配的输入并返回与该模式匹配的字符串。如果没有检测到这样的模式,则返回空值并且扫描仪的位置保持不变。此方法可能会阻止等待与模式匹配的输入。

扫描仪永远不会搜索超出其当前位置的水平代码点。请注意,火柴可能会被地平线剪掉;

语法

public String findWithinHorizon(Pattern pattern, int horizon)

参数

pattern 指定要扫描的模式。
地平线 指定搜索范围。

返回值

返回与指定模式匹配的文本。

异常

  • 如果扫描仪关闭,则抛出 IllegalStateException
  • 如果水平线为负,则抛出 IllegalArgumentException
  • >

示例:

在下面的示例中,java.util.Scanner.findWithinHorizo​​n() 方法返回下一个出现的指定的模式,忽略分隔符并在给定的范围内。

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