gpt4 book ai didi

java - 删除 Java 上重复的扩展文件

转载 作者:行者123 更新时间:2023-11-30 02:44:52 27 4
gpt4 key购买 nike

有一个包含以下文件的文件夹

myoutput.pdf
hello.pdf.pdf
byebye.txt
hey.txt.txt

如何仅删除具有重复扩展名的文件的扩展名?在示例中只有 pdf 和 txt,但在实际示例中可以是任何类型的扩展名。

我到目前为止:

String dir = "C:/Users/test";

File[] files = new File(dir).listFiles();

for (File file : files) {
if (file.isFile()) {
System.out.println(file.getName());
}
}

但我不知道现在如何检测具有“重复扩展名”的扩展名并将其重命名为“单个扩展名”

我想要的输出是:

myoutput.pdf
hello.pdf
byebye.txt
hey.txt

提前致谢。

最佳答案

您可以使用

file.getName().replaceAll("(\\.\\w+)\\1+$", "$1")

请参阅regex demo

图案详细信息:

  • (\\.\\w+) - 第 1 组捕获一个点和 1 个或多个单词字符(\\w+ 可能会替换为 [^ .]+ 匹配除点之外的 1 个或多个字符)
  • \\1+ - 第 1 组中捕获的相同值的一次或多次出现
  • $ - 字符串结尾。

替换模式只是对组 1 ($1) 的反向引用,仅出现 1 次扩展名。

关于java - 删除 Java 上重复的扩展文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40485375/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com