既然是有规律的文件名,那么通过substring就可以
解决方案 »
- 为什么v2里面获取不了几个线程的数据???怎样才能获取到
- 在java中,如何获取windows系统的各种运行信息呢?
- 请问那里有java1.5的Swing Tutorial Examples?
- corejava 中的一个sketch程序??高手请进
- 如何知道邮件服务器??
- 高分求cvs for nt和web使用插件(包括详细说明要中文版)
- 如何设置字体大小,字型、颜色,越具体越好
- 请问如何把Applet默认的从屏幕上放向下放生长的Y坐标变成从下向上生长的?
- 用pure jave方式开发的应用系统能承受多大的实时并发量?经验用户不妨赐教!
- 请教高手一个Java的类型用法。
- java如何实现UDP攻击
- 最近做课程设计,有用到通讯录,问前辈些问题。
System.out.println(fileName.replaceAll("test(\\d+)_\\d{8}(\\d*)\\..*", "$1---->$2"));
// String regex = "(?i)test([a-zA-Z0-9]+)_\\d{8}(.*)\\.txt";更好点??
String regex = "(?i)test([a-zA-Z0-9]+)_20140611(.*)\\.txt";
String str1 = fileName.replaceAll(regex, "$1");
String str2 = fileName.replaceAll(regex, "$2");
其中(?i)代表后面的部分不区分大小写,如果不需要,可以去掉(?i)
另外,上面部分只是为了代码简单,如果处理比较大量的字符串,还是先编译成Pattern,然后Matcher处理。
首先我定义了一个文件名 ,比如:test${area_id}_${day_id}*
变量day_id是当前日帐期,可以替换成20140624等,也可能是月帐期,如201406,还有可能是分钟帐期等,长度不会固定。
变量area_id则是无规则的,会根据替换后的正则去FTP目录下扫出所有文件 test[a-zA-Z0-9]+_20140611.*.txt,可能存在N多个文件。-rw-r--r--. 1 root root 8 Jun 23 16:25 test2221_2014061113.txt
-rw-r--r--. 1 root root 8 Jun 23 16:25 test2222_2014061111.txt
-rw-r--r--. 1 root root 8 Jun 23 16:25 test2223_2014061113.txt
-rw-r--r--. 1 root root 8 Jun 23 16:25 test2224_2014061114.txt现在我想要拿到的就是正则匹配到的那一段字符,2221、2222、2223、2224