如何查找和删除不区分大小写的字符串?

用户名

在Java中,我有一个文件,其中包含以下行:

abc
cbd
CFG
...

如果任何行与字符串匹配,我想从文件中删除CFG,这可能是'cfg','Cfg'或其他不区分大小写的变体。

如果我将文件读入Set,如何实现此目的?通过将文件读入列表似乎更可行。

AJNeufeld

以下是所需代码的“ lambda版本”。感谢@Sam提供有关重新引发任何被抑制的PrintWriter IOException的重点。

Path in_file = Paths.get("infile");
Path out_file = Paths.get("outfile");
try (PrintWriter pw = new PrintWriter(out_file.toFile())) {
    Files.lines(in_file)
         .filter(line -> !line.equalsIgnoreCase("cfg"))
         .forEach(pw::println);
    if (pw.checkError()) {
        throw new IOException("Exception(s) occurred in PrintWriter");
    }
}

如果您需要就地修改文件,则在读取文件时对其进行写入会更加困难。您可以先将其全部读入内存。

Path path = new Path("filename");
List<String> lines = Files.lines(path)
                          .filter(line -> !line.equalsIgnoreCase("cfg"))
                          .collect(Collectors.toList());

try(PrintWriter pw = new PrintWriter(path.toFile())) {
    lines.forEach(pw::println);
    if (pw.checkError()) {
        throw new IOException("Exception(s) occurred in PrintWriter");
    }
}

最后,以防万一,是一种与Java 7兼容的非lambda解决方案:

Path in_file = Paths.get("infile");
Path out_file = Paths.get("outfile");
try (BufferReader reader = Files.newBufferedReader(in_file);
         PrintWriter pw = new PrintWriter(out_file.toFile())) {

    String line;
    while((line = reader.readline()) != null) {
        if (!line.equalsIgnoreCase("cfg")) {
            pw.println(line);
        }
    }
    if (pw.checkError()) {
        throw new IOException("Exception(s) occurred in PrintWriter");
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何比较不区分大小写和不区分重音的字符串

来自分类Dev

如何使字符串不区分大小写

来自分类Dev

如何使字符串比较不区分大小写?

来自分类Dev

如何使字符串替换不区分大小写

来自分类Dev

如何使用空格实现Solr不区分大小写和不区分重音的子字符串搜索?

来自分类Dev

不区分大小写的排序集-区分大小写保留相同的字符串

来自分类Dev

字符串不区分大小写的模式匹配

来自分类Dev

不区分大小写的字符串数组比较

来自分类Dev

不区分大小写的字符串数组排序

来自分类Dev

不区分大小写比较字符串

来自分类Dev

regEx包装不区分大小写的字符串

来自分类Dev

不区分大小写的字符串数组比较

来自分类Dev

不区分大小写的拆分字符串

来自分类Dev

不区分大小写的bash字符串替换

来自分类Dev

内置不区分大小写的字符串=

来自分类Dev

查找字符串中的文本,不区分大小写

来自分类Dev

查找不区分大小写的字符串并替换(PHP)

来自分类Dev

如何在某个字符串后删除所有内容[不区分大小写]

来自分类Dev

clojure:删除不区分大小写的字符串重复项

来自分类Dev

熊猫如果匹配字符串则删除行(不区分大小写)

来自分类Dev

字符串区分大小写

来自分类Dev

如何区分大小写比较字符串?

来自分类Dev

如何以不区分大小写的方式制作最新的Attoparsec匹配字符串?

来自分类Dev

Rails + ActiveRecord + Postgres:如何匹配不区分大小写的子字符串?

来自分类Dev

比较未知对象类型时,如何确保字符串不区分大小写?

来自分类Dev

实体框架核心Cosmos Db-如何比较不区分大小写的字符串?

来自分类Dev

Rails + ActiveRecord + Postgres:如何匹配不区分大小写的子字符串?

来自分类Dev

如何以不区分大小写的方式制作最新的Attoparsec匹配字符串?

来自分类Dev

如何读取不区分大小写的列名pandas字符串

Related 相关文章

  1. 1

    如何比较不区分大小写和不区分重音的字符串

  2. 2

    如何使字符串不区分大小写

  3. 3

    如何使字符串比较不区分大小写?

  4. 4

    如何使字符串替换不区分大小写

  5. 5

    如何使用空格实现Solr不区分大小写和不区分重音的子字符串搜索?

  6. 6

    不区分大小写的排序集-区分大小写保留相同的字符串

  7. 7

    字符串不区分大小写的模式匹配

  8. 8

    不区分大小写的字符串数组比较

  9. 9

    不区分大小写的字符串数组排序

  10. 10

    不区分大小写比较字符串

  11. 11

    regEx包装不区分大小写的字符串

  12. 12

    不区分大小写的字符串数组比较

  13. 13

    不区分大小写的拆分字符串

  14. 14

    不区分大小写的bash字符串替换

  15. 15

    内置不区分大小写的字符串=

  16. 16

    查找字符串中的文本,不区分大小写

  17. 17

    查找不区分大小写的字符串并替换(PHP)

  18. 18

    如何在某个字符串后删除所有内容[不区分大小写]

  19. 19

    clojure:删除不区分大小写的字符串重复项

  20. 20

    熊猫如果匹配字符串则删除行(不区分大小写)

  21. 21

    字符串区分大小写

  22. 22

    如何区分大小写比较字符串?

  23. 23

    如何以不区分大小写的方式制作最新的Attoparsec匹配字符串?

  24. 24

    Rails + ActiveRecord + Postgres:如何匹配不区分大小写的子字符串?

  25. 25

    比较未知对象类型时,如何确保字符串不区分大小写?

  26. 26

    实体框架核心Cosmos Db-如何比较不区分大小写的字符串?

  27. 27

    Rails + ActiveRecord + Postgres:如何匹配不区分大小写的子字符串?

  28. 28

    如何以不区分大小写的方式制作最新的Attoparsec匹配字符串?

  29. 29

    如何读取不区分大小写的列名pandas字符串

热门标签

归档