<String> 使用 Java 8 将从外部 txt 文件读取的带引号的 ArrayList 转换为<String>不带引号的 ArrayList



我正在尝试从文本文件中读取引号中的大量单词,例如"DSRD","KJHT","BFXXX","OUYTP",这样我就可以有类似[DSRD,KJHT,BFXXX,OUYTP]之类的东西。

我已经尝试了下面的 2 个代码,但仍然返回带引号的行:

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

有没有办法让我只返回字符串列表,而没有每个字符串中的引号?

任何帮助将不胜感激。

谢谢

您可以使用String#replaceAll读取文件后删除引号:

List<String> lines = Files.readAllLines(Paths.get(filePath), ENCODING);
lines = lines.stream().map(s -> s.replaceAll(""", "")).collect(Collectors.toList());

您可以拆分单词,因为它们用逗号分隔并对其应用转换,最后将它们连接回来:

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);
}

最新更新