0

我正在尝试从文本文件中读取引号中的大量单词,例如“DSRD”、“KJHT”、“BFXXX”、“OUYTP”,这样我就可以得到类似 [DSRD, KJHT, BFXXX, OUYTP] 的内容。

我在下面尝试了这两个代码,但仍然返回带引号的行:

   1. List<String> lines = Files.readAllLines(Paths.get(filePath), ENCODING);
   2. List<String> lines = new ArrayList<>(Files.readAllLines(Paths.get(filePath)));

有没有一种方法可以让这个只返回字符串列表而没有每个字符串中的引号?

任何帮助将不胜感激。

谢谢

4

2 回答 2

0

您可以拆分单词,因为它们用逗号分隔并对它们应用转换,最后将它们重新加入:

for(int i = 0; i < lines.size(); i++) {
    String line = lines[i];
    String[] words = line.split(",");

    for (int j = 0; j < words.length; j++) {
        words[j] = words[j].replaceAll("^\"|\"$", "");
    }
    
    lines[i] = String.join(",", words);
}
于 2020-06-20T17:49:07.390 回答
0

您可以在阅读文件后使用以下命令删除引号String#replaceAll

List<String> lines = Files.readAllLines(Paths.get(filePath), ENCODING);
lines = lines.stream().map(s -> s.replaceAll("\"", "")).collect(Collectors.toList());
于 2020-06-20T17:45:54.847 回答