gpt4 book ai didi

java - 如何在Java中创建临时文件时删除ip和其他数值

转载 作者:行者123 更新时间:2023-12-01 08:13:37 25 4
gpt4 key购买 nike

我得到的文件名类似于下面的name。我想删除最终的 ip 和另一个数值以获得最终的真实文件名。有没有比使用正则表达式更好的方法来实现这一目标?也许还有其他技术?请帮助我了解这一点。

        String name = "pdf_of_filename_127.10.10.0_8726347.xls";

System.out.println("Initial File Name :"+name);

String [] t = name.split("_");
String finalpart = t[t.length - 1];
String extension = finalpart.substring(finalpart.lastIndexOf("."),finalpart.length());

String finalName = "";

for(int i = 0;i < t.length - 2;i++)
finalName += t[i]+"_";
finalName = finalName.substring(0,finalName.length() - 1);

System.out.println("Final File Name :"+finalName+extension);

输出:

Initial File Name :pdf_of_filename_127.10.10.0_8726347.xls

Final File Name :pdf_of_filename.xls

更多理解:

String name = "pdf_of_filename_53613785621.183761237_127.10.10.0_8726347.xls";

output Expected:
Final File Name :pdf_of_filename_53613785621.183761237.xls

最佳答案

这会起作用:

String name = "pdf_of_filename_53613785621.183761237_127.10.10.0_8726347.xls";
String finalName = name.replaceAll("_(\\d+\\.){3}[\\d_]+","");
System.out.println("finalName = " + finalName);

它删除一个看起来像这样的子字符串:

_             an underscore
(\\d+\\.){3} followed by 3 times a digit and a period (127.10.10.)
[\\d_]+ then some digits and underscores (0_876347)

关于java - 如何在Java中创建临时文件时删除ip和其他数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15322581/

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