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

在 Java 中,我有一个文件名示例 ABC.12.txt.gz,我想从文件名中提取数字 12。目前我正在使用最后一个索引方法并多次提取子字符串。



潇湘沐
浏览 195回答 3
3回答

慕的地8271018

我们可以使用类似这样的方法从字符串中提取数字 String fileName="ABC.12.txt.gz";  String numberOnly= fileName.replaceAll("[^0-9]", "");

翻阅古今

您可以尝试使用模式匹配import java.util.regex.Pattern;import java.util.regex.Matcher;// ... Other featuresString fileName = "..."; // Filename with number extensionPattern pattern = Pattern.compile("^.*(\\d+).*$"); // Pattern to extract number// Then try matchingMatcher 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.

阿波罗的战车

您可以使用正则表达式将每个数字部分与字母数字部分分开:public static void main(String args[]) {&nbsp; &nbsp; String str = "ABC.12.txt.gz";&nbsp; &nbsp; String[] parts = str.split("(?<=\\D)(?=\\d)|(?<=\\d)(?=\\D)");&nbsp; &nbsp; // view the resulting parts&nbsp; &nbsp; for (String s : parts) {&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(s);&nbsp; &nbsp; }&nbsp; &nbsp; // do what you want with those values...}这将输出ABC.12.txt.gz然后拿走你需要的零件,用它们做你必须做的事。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java