繁体   English   中英

转换 ArrayList<string> 带引号从外部 txt 文件读取到 ArrayList<string> 没有引号使用 Java 8</string></string>

[英]Convert ArrayList<String> With Quotes Read from an external txt file to ArrayList<String> Without the Quotes Using Java 8

我正在尝试从文本文件中读取引号中的大量单词,例如“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)));

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

任何帮助将不胜感激。

谢谢

您可以在使用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);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM