检测文件名中带有序号的文件
Detecting files with sequential number in the file name
我想实现一个导入多个带序号的文件的功能
如果文件名类似于 aaa_000
、aaa_001
,那么我可以用下划线将它们分开并取数字。但是当文件名不是这种模式时,我不知道这样做的好方法是什么。
文件名可以是 a_aa_000
、a00a_000
、a_0_000
、aaa000
、a_aa000
,它们以数字结尾。
更新:
我找到了一种通过找到最后一个非数字字符来实现它的方法,它之前的字符将是共同名称。
除了@Robabu 提到的,请更改您的模式以包含“$”,以便它只匹配以字符串结尾的模式。下面的代码适用于您上面提到的所有测试输入。
Pattern intsOnly = Pattern.compile("\d+$");
Matcher makeMatch = intsOnly.matcher("a_aa000");
makeMatch.find();
String inputInt = makeMatch.group();
System.out.println(inputInt);
我想实现一个导入多个带序号的文件的功能
如果文件名类似于 aaa_000
、aaa_001
,那么我可以用下划线将它们分开并取数字。但是当文件名不是这种模式时,我不知道这样做的好方法是什么。
文件名可以是 a_aa_000
、a00a_000
、a_0_000
、aaa000
、a_aa000
,它们以数字结尾。
更新:
我找到了一种通过找到最后一个非数字字符来实现它的方法,它之前的字符将是共同名称。
除了@Robabu 提到的,请更改您的模式以包含“$”,以便它只匹配以字符串结尾的模式。下面的代码适用于您上面提到的所有测试输入。
Pattern intsOnly = Pattern.compile("\d+$");
Matcher makeMatch = intsOnly.matcher("a_aa000");
makeMatch.find();
String inputInt = makeMatch.group();
System.out.println(inputInt);