当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Scanner findWithinHorizon()用法及代码示例


findWithinHorizon() 是一个 Java Scanner 类方法,用于查找模式的下一次出现。 Java findWithinHorizon() 方法有两种不同类型,可以根据其参数进行区分。这些是:

  • Java Scanner findWithinHorizo​​n(Pattern pattern, int horizo​​n) 方法
  • Java Scanner findWithinHorizo​​n(String pattern, int horizo​​n) 方法

findWithinHorizo​​n(Pattern pattern, int horizo​​n) 方法

这是 Java Scanner 类的内置方法,用于查找指定模式的下一次出现。此方法搜索输入直到指定的搜索范围,忽略分隔符。

findWithinHorizo​​n(String pattern, int horizo​​n) 方法

这是一个 Java Scanner 类方法,用于查找从指定字符串构造的模式的下一次出现,忽略分隔符。

用法

以下是 findWithinHorizon() 方法的声明:

public String findWithinHorizon(String pattern, int horizon)
public String findWithinHorizon(Pattern pattern, int horizon)

参数

数据类型 参数 描述 必需/可选
int horizon 这是搜索范围 Required
String pattern 它是一个字符串,指定要搜索的模式 Required
Pattern pattern 这是要扫描的模式 Required

返回

findWithinHorizon() 方法返回与指定模式匹配的文本。

异常

IllegalStateException - 如果在扫描器关闭后调用完成,此方法会抛出异常。

IllegalArgumentException- 如果地平线为负,则抛出此异常。

兼容版本

Java 1.5 及以上

例子1

import java.util.Scanner;
import java.util.regex.Pattern;  
public class ScannerFindWithinHorizonExample1 {  
   public static void main(String args[]){	   
	   String string = "Hello JavaTpoint! --> 1111, 2222, 3333";
	   Pattern pattern = Pattern.compile("[0-9]+");
	   Scanner scanner = new Scanner(string);
	   while (scanner.hasNext()) {
	         System.out.println("Output = " + scanner.findWithinHorizon(pattern, 26));
	   }
	   scanner.close();
   	   }  
}

输出:

Output = 1111
Output = 2222
Output = 3333

例子2

import java.util.*;
public class ScannerFindWithinHorizonExample2 {  
	public static void main(String[] args) {
		//Initialize scanner object
		Scanner scan = new Scanner("x12 13 16 210");
		//Declare horizon
		int horizon = 8;
		//Print the result
		System.out.println("Print the string that satisifies the pattern within the horizon-");
		System.out.println("Result:"+scan.findWithinHorizon("[0-9].*", horizon));
		scan.close();
		}
}

输出:

Print the string that satisifies the pattern within the horizon-
Result:12 13 1

例子3

import java.util.Scanner;  
public class ScannerFindWithinHorizonExample3{  
   public static void main(String args[]){ 
	   String str = "Hello World! This is javaTpoint.";
	   //Create a new scanner Object
	   Scanner scanner = new Scanner(str);	      	      
	   //Print the result
         System.out.println("Output:" + scanner.findWithinHorizon("[a-zA-Z].*", -16));
	   //Print the rest of the string
	   System.out.println("Left String:" + scanner.nextLine());
	   scanner.close();
         }  
}

输出:

Exception in thread "main" java.lang.IllegalArgumentException:horizon < 0
	at java.base/java.util.Scanner.findWithinHorizon(Scanner.java:1785)
	at java.base/java.util.Scanner.findWithinHorizon(Scanner.java:1746)
	at myPackage.ScannerFindWithinHorizonExample3.main(ScannerFindWithinHorizonExample3.java:9)

示例 4

import java.util.*;
import java.util.regex.Pattern;  
public class ScannerFindWithinHorizonExample4{  
   public static void main(String args[]){ 
	   Scanner scan = new Scanner(System.in);
	   String userName;  
	   System.out.print("Enter your email address:");
	   userName = scan.findWithinHorizon(Pattern.compile("[a-z]+"), 16);
	   System.out.println("Output:"+userName);
	   scan.close();
         }  
}

输出:

Enter your email address:[email protected]
Output:abhishek


相关用法


注:本文由纯净天空筛选整理自 Java Scanner findWithinHorizon() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。