当前位置: 首页 > 知识库问答 >
问题:

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

诸超
2023-03-14

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

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

任何帮助都将不胜感激。

谢谢

共有2个答案

戚弘和
2023-03-14

您可以拆分这些由逗号分隔的单词,并对它们进行转换,最后将它们连接起来:

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);
}
习淇
2023-03-14

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

List<String> lines = Files.readAllLines(Paths.get(filePath), ENCODING);
lines = lines.stream().map(s -> s.replaceAll("\"", "")).collect(Collectors.toList());
 类似资料:
  • 问题内容: 之间有什么区别 和 我都尝试过,但似乎都可以,但是我是在问,以防万一我需要小心(例如,%以外的单位等)。 问题答案: 这完全是关于HTML标记的真实有效性。这是W3C(WWW联盟)的工作目的。许多事情可能都在HTML中起作用,但是必须进行验证才能被网络浏览器更仔细地识别。您甚至可以在开头和结尾处省略and 标记,但是完全不建议这样做,没有人这样做,它被视为“错误代码”。 因此,将它们放

  • 问题内容: 我所拥有的文件,每行1个JSON文件和领域和每个文件内。我想使用jq提取这些并将它们打印在同一行上。 到目前为止,我有: 这可行,但是我需要删除双引号。 为了改善我的jq-foo,有没有办法在 不使用sed的情况下 做到这一点? 例如给 得到 代替 问题答案: 默认情况下,将其输出格式化为有效的JSON值。这意味着字符串用引号引起来。 幸运的是,or 参数会覆盖该行为,因此您的字符串输

  • 我有一个非常好的正则表达式,它从文本中选择引用: 但是我需要一个正则表达式,它从没有引号的文本中选择引号。 例如,我有: 鲸鱼包括八个现存的家族:“鲸豚科”(白鲸),“鲸豚科”(露脊鲸),“鲸豚科”(侏儒露脊鲸),“白鲸科”(灰鲸),“独角鲸科”(白鲸和独角鲸),“抹香鲸科”(抹香鲸)。。。 我需要在引号之间提取文本: 龟甲翅目,龟甲翅目,龟甲翅目,... 要提取括号之间的文本,我使用正则表达式:

  • 问题内容: 这是适合此描述的命令行示例: 我已经尝试过'(不转义),URL编码(在另一端没有urldecoded!)和”(引号消失!),但没有成功。 问题答案: 如果您将“替换为Unicode编码的”(\ u0027),则可以使用: 奇怪,但是值得知道!

  • 我使用Jooq-3.1.0在Spring-4中为Oracle和Postgresql生成和执行动态查询。在一个场景中,我有一个分区表,我需要使用JOOQ查询它。我使用,其中是在查询生成方法中作为字符串接收的字符串,例如。(模式对于不同的数据库不同,并且在外部属性文件中配置)。JOOQ生成sql,但在表名周围使用双引号。如下所示的查询和错误 查询