尝试使用扫描程序解析以下文件...
“狗”, “猫”, “马”, “象”, “豚”
...让它输出以下内容:
狗 猫 马 象 海豚
什么scanner.Delimiter正则表达式可以做到这一点?也许我甚至没有走上正轨。在每个令牌之间没有逗号的情况下获取这些令牌的最佳方法是什么,并且每个令牌上没有引号?
答案 0 :(得分:0)
我不会使用Scanner
,而是我会:
List<String> values = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
String[] data = reader.readLine().split(",");
for (String item : data) {
values.add(item.replace("\"", ""));
}
}
您在列表values
中拥有这些元素(仅从第一行开始,但很容易扩展)。
答案 1 :(得分:0)
您可以做的是设置扫描程序以读取文档,使用scanner声明使用scan.hasNext()进行测试,如果下一个字符串是&#39; &#34; &#39;或者一个&#39; ,&#39;并且通过它们(在&#34;你可以添加一个空格),但是如果扫描仪拿起一个字母字符,那么打印出该字符。对于某些源代码,这里有一个指向如何解析文本文件或字符串的四种解释的链接。