java - 检测文件名中带有序号的文件
问题描述
我想实现一个导入多个带有序列号的文件的函数。
如果文件名类似于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);
推荐阅读
- c# - 是否可以将多维数组存储到对象中?
- python - 从 Pandas 中的字符串切片创建列
- python - 利用 re.search 的 Python 程序需要在两个关键字之间定位字符串但不起作用?
- reactjs - ReferenceError:类型未定义
- github - 在 vscode 中恢复意外删除的 github auth 图标
- docker - 如何将 Github 连接到谷歌云平台?
- python - matlpotlib 中的标准化颜色映射到底发生了什么?
- javascript - 如何在下面的代码中摆脱 RequestOptionsArgs
- python - 使用外部数据库操作时,Django RestFramework 中需要序列化程序
- android - 无法解析大部分来自 AndroidX 的类