findWithinHorizon() 是一个 Java Scanner 类方法,用于查找模式的下一次出现。 Java findWithinHorizon() 方法有两种不同类型,可以根据其参数进行区分。这些是:
- Java Scanner findWithinHorizon(Pattern pattern, int horizon) 方法
- Java Scanner findWithinHorizon(String pattern, int horizon) 方法
findWithinHorizon(Pattern pattern, int horizon) 方法
这是 Java Scanner 类的内置方法,用于查找指定模式的下一次出现。此方法搜索输入直到指定的搜索范围,忽略分隔符。
findWithinHorizon(String pattern, int horizon) 方法
这是一个 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()用法及代码示例
- Java Scanner findInLine()用法及代码示例
- Java Scanner reset()用法及代码示例
- Java Scanner locale()用法及代码示例
- Java Scanner nextByte()用法及代码示例
- Java Scanner toString()用法及代码示例
- Java Scanner useRadix()用法及代码示例
- Java Scanner delimiter()用法及代码示例
- Java Scanner nextLong()用法及代码示例
- Java Scanner radix()用法及代码示例
- Java Scanner remove()用法及代码示例
- Java Scanner nextShort()用法及代码示例
- Java Scanner nextBoolean()用法及代码示例
- Java Scanner nextBigInteger()用法及代码示例
- Java Scanner hasNext()用法及代码示例
- Java Scanner skip()用法及代码示例
- Java Scanner useDelimiter()用法及代码示例
- Java Scanner nextInt()用法及代码示例
- Java Scanner hasNextFloat()用法及代码示例
- Java Scanner next()用法及代码示例
注:本文由纯净天空筛选整理自 Java Scanner findWithinHorizon() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。