【发布时间】:2012-11-29 06:29:52
【问题描述】:
我正在从一个看起来像这样的文本文件中读取一长行信息:
Sebastien 5000\\Loic 5000\\Shubhashisshh 5000\\Thibaullt 5000\\Caroo 5000\\Blabla 5000\\Okayyy 5000\\SebCed 5000\\abusee 5000\\omg 5000\\
应该是用户名的高分。当我打印出该行时,它看起来完全一样,但是当我使用split("\\\\") 后打印出数组时,它看起来像这样:
[Sebastien 5000, , Loic 5000, , Shubhashisshh 5000, , Thibaullt 5000, , Caroo 5000, , Blabla 5000, , Okayyy 5000, , SebCed 5000, , abusee 5000, , omg 5000]
问题是Array[0] 很好,但Array[1] 是空的,Array[3]、Array[5] 等也是如此。
这是我的代码。它有什么问题?
BufferedReader in = null;
try {
in = new BufferedReader(new FileReader(path));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String line = null;
try {
line = in.readLine();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("LINE = "+line);
String[] scores = line.split("\\\\");
System.out.println("Mode = "+mode+Arrays.toString(scores));
【问题讨论】:
-
您使用的是
line.split("\\\\");还是拼写错误?我想你需要line.split("\\\"); -
@NickD 它需要一个正则表达式,所以你需要
"\\\\",它首先变成一个文字字符串\\,然后是一个文字\的正则表达式。"\\\"无法编译,因为它是未终止的字符串文字。 -
这不是一个错字,因为你必须转义 \ 一次以获得特殊字符,第二次因为它是一个字符串,如果我想拆分 \\ 我必须使用 \\\\ don'我?
-
您的代码对我来说运行良好。
标签: java arrays file text split