使用任何引用输入的分隔符

时间:2016-05-06 06:08:49

标签: java regex java.util.scanner delimiter

我正在使用"Range 20V 0.5A".match(/\d+V/)[0] // => "20V" 使用分隔符读取文件,如下所示:

Scanner

但我想知道一种方法可以“跳过”引用文件的一部分。

例如,如果文件包含:

.useDelimiter("[^a-zA-Z]+"); 

我希望扫描仪返回这些令牌:

hello world "such a lovely day"
take a walk through the field

1 个答案:

答案 0 :(得分:0)

.useDelimiter("([^a-zA-Z"]("(.*?)")?)+"); 视为分隔字符之一:

String input = "hello world \"such a lovely day\"\ntake a walk through the field";
Scanner scanner = new Scanner(input).useDelimiter("([^a-zA-Z\"](\"(.*?)\")?)+");
while(scanner.hasNext()) {
    System.out.println(scanner.next());
}

一些测试代码:

hello
world
take
a
walk
through
the
field

输出:

{{1}}