java useDelimeter 拆分为 -
java useDelimeter split on -
我正在尝试解析一个类似于
的 txt 文件
A - 19
B - 2
C - 3
我正在使用扫描仪方法读取它并在“-”中拆分,这样我的输出将如下所示:
A
19
B
2
C
3
但是它似乎没有正确拆分。这就是那部分代码的样子:
Scanner s = new Scanner(fileName).useDelimiter("\s*-\s*");
System.out.println(s.next());
System.out.println(s.next());
s.close();
我希望它看起来像:
A
19
但我的输出是:
A
19
B
您应该使用此正则表达式作为分隔符:
Scanner s = new Scanner(fileName).useDelimiter("\s*-\s*|\R+");
其中 \R+
匹配 1 个或多个任何类型的换行符。
public static void main(String[] args) throws FileNotFoundException {
String fileName = "C://temp//split.txt";
try (Scanner s = new Scanner(new File(fileName)).useDelimiter(" - ")) {
while(s.hasNext()) {
System.out.println(s.next());
}
}
}
我正在尝试解析一个类似于
的 txt 文件A - 19
B - 2
C - 3
我正在使用扫描仪方法读取它并在“-”中拆分,这样我的输出将如下所示:
A
19
B
2
C
3
但是它似乎没有正确拆分。这就是那部分代码的样子:
Scanner s = new Scanner(fileName).useDelimiter("\s*-\s*");
System.out.println(s.next());
System.out.println(s.next());
s.close();
我希望它看起来像:
A
19
但我的输出是:
A
19
B
您应该使用此正则表达式作为分隔符:
Scanner s = new Scanner(fileName).useDelimiter("\s*-\s*|\R+");
其中 \R+
匹配 1 个或多个任何类型的换行符。
public static void main(String[] args) throws FileNotFoundException {
String fileName = "C://temp//split.txt";
try (Scanner s = new Scanner(new File(fileName)).useDelimiter(" - ")) {
while(s.hasNext()) {
System.out.println(s.next());
}
}
}