消耗任何引用输入的定界符
Delimiter that consumes any quoted input
我正在使用 Scanner
使用定界符读取文件,如下所示:
.useDelimiter("[^a-zA-Z]+");
但我想知道可以"skipped"引用文件部分的方法。
例如,如果文件包含:
hello world "such a lovely day"
take a walk through the field
我希望扫描器return这些标记:
hello
world
take
a
walk
through
the
field
将 "..."
视为分隔符之一:
.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
我正在使用 Scanner
使用定界符读取文件,如下所示:
.useDelimiter("[^a-zA-Z]+");
但我想知道可以"skipped"引用文件部分的方法。
例如,如果文件包含:
hello world "such a lovely day"
take a walk through the field
我希望扫描器return这些标记:
hello
world
take
a
walk
through
the
field
将 "..."
视为分隔符之一:
.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