JAVA-扫描程序通过引号和逗号进行解析

JAVA-扫描程序通过引号和逗号进行解析,java,parsing,java.util.scanner,Java,Parsing,Java.util.scanner,正在尝试使用scanner分析以下文件中的文件 “狗”、“猫”、“马”、“大象”、“海豚” …使其输出以下内容: 狗 猫 马 大象 海豚 什么scanner.useDelimiter正则表达式可以执行此操作?也许我甚至没有走上正轨。获取这些令牌的最佳方法是什么?每个令牌之间没有逗号,每个令牌上没有引号?我不会为此使用扫描仪,而是: List<String> values = new ArrayList<>(); try (BufferedReader reader = n

正在尝试使用scanner分析以下文件中的文件

“狗”、“猫”、“马”、“大象”、“海豚”

…使其输出以下内容:

狗 猫 马 大象 海豚


什么scanner.useDelimiter正则表达式可以执行此操作?也许我甚至没有走上正轨。获取这些令牌的最佳方法是什么?每个令牌之间没有逗号,每个令牌上没有引号?

我不会为此使用
扫描仪,而是:

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("\"", ""));
    }
}
List values=new ArrayList();
try(BufferedReader=newbufferedreader(newfilereader(“file.txt”)){
String[]data=reader.readLine().split(“,”);
用于(字符串项:数据){
添加(item.replace(“\”,“);
}
}

您可以将这些元素(仅从第一行开始,但很容易扩展)放在一个列表中

您可以启动的操作是设置一个扫描仪来读取文档,使用scanner.hasNext()使用if语句测试下一个字符串是否为'''或'',并通过它们(在''s上可以添加空格),但如果扫描器拾取字母字符,则打印出该字符。对于某些源代码,这里有一个链接,指向有关如何通过文本文件或字符串进行解析的四个说明


您走错了方向。这听起来像是一个CSV文件,有几个库可以很好地解决这个问题。因为您没有提供真正的详细信息或代码,我们无法提供更多帮助。您应该将
BufferedReader
放入块中以防止内存泄漏。我想我应该更清楚一些。逗号可能会出现在里面引文。例如,“狗”,“猫”,“马”,“多尔,芬”应该解析为:狗-猫-马-多尔,phin@Greymarch如果您的数据是兼容的,那么最好使用CSV解析器。@Greymarch这是您的问题中需要的关键信息。