📅  最后修改于: 2023-12-03 15:16:26.269000             🧑  作者: Mango
在Java中,Scanner是一个实用的类,它主要用于从各种流中读取原始数据类型和字符串。其中,Scanner类的useDelimiter()方法用于指定一个分隔符,用于将文本分成令牌,可以使用next()和nextXXX()方法获得这些令牌。这个方法的默认行为是使用正则表达式\s(任意空格符)来作为分隔符。
下面是useDelimiter()方法的语法:
public Scanner useDelimiter(String pattern)
其中,pattern参数是一个String类型的正则表达式,用于指定分隔符。
下面是一个简单的示例,演示了如何使用useDelimiter()方法将字符串分成令牌:
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
String input = "Hello, World! How are you?";
Scanner scanner = new Scanner(input);
scanner.useDelimiter("\\s*,\\s*"); //指定分隔符为逗号,可带空格
while (scanner.hasNext()) {
System.out.println(scanner.next());
}
scanner.close();
}
}
输出结果为:
Hello
World! How are you?
在上面的示例中,我们使用useDelimiter()方法来指定一个逗号作为分隔符,可带任意数量的空格。然后,我们使用while循环来迭代Scanner的各个令牌,然后打印每个令牌。在上面的输出中,我们可以看到“Hello”和“World! How are you?”是两个不同的令牌。这是因为我们使用“\s*,\s*”作为分隔符,所以我们的字符串被分成了两部分,其中逗号和可选的空格被丢弃。
在本文中,我们介绍了Java中的Scanner useDelimiter()方法及其语法和用法示例。如果您希望进一步了解Scanner类和其它Java API,请参考Oracle Java SE文档。