为了账号安全,请及时绑定邮箱和手机立即绑定

如何从文件名中提取数字后缀

如何从文件名中提取数字后缀

潇湘沐 2022-12-21 10:04:57
在 Java 中,我有一个文件名示例 ABC.12.txt.gz,我想从文件名中提取数字 12。目前我正在使用最后一个索引方法并多次提取子字符串。
查看完整描述

3 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

我们可以使用类似这样的方法从字符串中提取数字

 String fileName="ABC.12.txt.gz";
 String numberOnly= fileName.replaceAll("[^0-9]", "");


查看完整回答
反对 回复 2022-12-21
?
翻阅古今

TA贡献1780条经验 获得超5个赞

您可以尝试使用模式匹配


import java.util.regex.Pattern;

import java.util.regex.Matcher;


// ... Other features


String fileName = "..."; // Filename with number extension

Pattern pattern = Pattern.compile("^.*(\\d+).*$"); // Pattern to extract number


// Then try matching

Matcher matcher = pattern.matcher(fileName);

String numberExt = "";

if(matcher.matches()) {

    numberExt = matcher.group(1);

} else {

    // The filename has no numeric value in it.

}


// Use your numberExt here.


查看完整回答
反对 回复 2022-12-21
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

您可以使用正则表达式将每个数字部分与字母数字部分分开:


public static void main(String args[]) {

    String str = "ABC.12.txt.gz";

    String[] parts = str.split("(?<=\\D)(?=\\d)|(?<=\\d)(?=\\D)");


    // view the resulting parts

    for (String s : parts) {

        System.out.println(s);

    }


    // do what you want with those values...

}

这将输出


ABC.

12

.txt.gz

然后拿走你需要的零件,用它们做你必须做的事。


查看完整回答
反对 回复 2022-12-21
  • 3 回答
  • 0 关注
  • 194 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信