位置:首頁 > Java技術 > Java.util包 > java.util.Scanner.findWithinHorizon()方法實例

java.util.Scanner.findWithinHorizon()方法實例

java.util.Scanner.findWithinHorizon(Pattern pattern,int horizon) 方法試圖找到指定圖案的下一次出現。該方法通過輸入搜索到指定的搜索地平線,在忽略分隔符。如果找到該模式的scanner 執行匹配的輸入,並返回與該模式匹配的字符串。如果冇有這樣的模式被檢測到則返回null,且scanner 的位置保持不變。此方法可能阻塞等待輸入相匹配的模式。scanner將永遠不會搜索超過超出其當前位置的horizon代碼點。請注意,匹配可能被horizon剪裁;也就是說,任意匹配的結果可能會有所不同,如果horizon一直較大。

聲明

以下是java.util.Scanner.findWithinHorizon()方法的聲明

public String findWithinHorizon(Pattern pattern,int horizon)

參數

  • pattern -- 一個字符串,指定要搜索的模式

返回值

此方法返回匹配指定模式的文本。

異常

  • IllegalStateException -- 如果此scanner已關閉

  • IllegalArgumentException -- 如果horizon為負

例子

下麵的示例演示java.util.Scanner.findWithinHorizon()方法的用法。

package com.yiibai;

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