如何按照字符串中的后半部分数字排序。 1、但要注意,在字符串的前部有时候是需要与数字的。这个是啥意思?2、格式都是xxxxx查结果xxxfile.file.xls这样的形式吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是 字符的 山2103(女)272查结果 和file.xls都是一样的。不一样的地方是两者之间的数字比如1,14,2等等 山2103(女)272查结果1file.xls山2103(女)272查结果14file.xls山2103(女)272查结果15file.xls山2103(女)272查结果2file.xls除了红色注明的地方外,其他地方都一样。其实就是想红色注明的数字排序 public static void main(String[] args) { String[] strArray={"山2103(女)272查结果1file.xls","山2103(女)272查结果14file.xls","山2103(女)272查结果15file.xls","山2103(女)272查结果2file.xls"}; String[] sortedArray=sortedStr(strArray); System.out.println(Arrays.toString(sortedArray)); } private static String[] sortedStr(String[] strArray){ Map<Integer,String> map = new HashMap<Integer,String>(); String[] sortedArray = new String[strArray.length]; for(String str :strArray){ int number =Integer.parseInt(str.substring(str.lastIndexOf("果")+1,str.length()-8)); map.put(number, str); } Integer[] intArray = new Integer[strArray.length]; Arrays.sort(map.keySet().toArray(intArray)); for(int j=0;j<sortedArray.length;j++){ sortedArray[j]=map.get(intArray[j]); } return sortedArray; } 山2103(女)272查结果1file.xls山2103(女)272查结果14file.xls山2103(女)272查结果15file.xls山2103(女)272查结果2file.xls除了红色注明的地方外,其他地方都一样。其实就是想红色注明的数字排序但如果 山2103(女)272查结果 和后面的 file.xls是统一变化的 怎么办。我的意思是红色部分始终是数字,但其他部分不一定是什么,唯一肯定的是,其他部分的变化是同时的,比如272变成A或者300之类的 山2103(女)272查结果1file.xls山2103(女)272查结果14file.xls山2103(女)272查结果15file.xls山2103(女)272查结果2file.xls除了红色注明的地方外,其他地方都一样。其实就是想红色注明的数字排序但如果 山2103(女)272查结果 和后面的 file.xls是统一变化的 怎么办。我的意思是红色部分始终是数字,但其他部分不一定是什么,唯一肯定的是,其他部分的变化是同时的,比如272变成A或者300之类的那就要麻烦些了,这样就先要找到数字的前后两部分内容,然后再截取了,至于怎么找到这部分相同的内容,可以随便取两个,比如取前两个字符串,然后比较这两个字符串找出数字前后相同的部分,清楚吗? javax.management.MalformedObjectNameException:character '' in value.... DB2存储过程入门级问题 用正则 提取 EMAIL 地址 一个题目 为什么servlet2.5/jsp2.1 里的EL表达式无效 用eclipse开发hibernate求助 一个hibernate问题,请大家帮帮忙! 请问java web start是什么,干什么用的? 怎么样使用实体bean来修改数据库中的记录? 大型系统设计(例如SAP)讨论 struts2 跳转出错 如何将获取补位中的真正数据
就是 字符的 山2103(女)272查结果 和file.xls都是一样的。不一样的地方是两者之间的数字比如1,14,2等等
山2103(女)272查结果1file.xls
山2103(女)272查结果14file.xls
山2103(女)272查结果15file.xls
山2103(女)272查结果2file.xls除了红色注明的地方外,其他地方都一样。其实就是想红色注明的数字排序
String[] strArray={"山2103(女)272查结果1file.xls","山2103(女)272查结果14file.xls","山2103(女)272查结果15file.xls","山2103(女)272查结果2file.xls"};
String[] sortedArray=sortedStr(strArray);
System.out.println(Arrays.toString(sortedArray));
}
private static String[] sortedStr(String[] strArray){
Map<Integer,String> map = new HashMap<Integer,String>();
String[] sortedArray = new String[strArray.length];
for(String str :strArray){
int number =Integer.parseInt(str.substring(str.lastIndexOf("果")+1,str.length()-8));
map.put(number, str);
}
Integer[] intArray = new Integer[strArray.length];
Arrays.sort(map.keySet().toArray(intArray));
for(int j=0;j<sortedArray.length;j++){
sortedArray[j]=map.get(intArray[j]);
}
return sortedArray;
}
山2103(女)272查结果1file.xls
山2103(女)272查结果14file.xls
山2103(女)272查结果15file.xls
山2103(女)272查结果2file.xls除了红色注明的地方外,其他地方都一样。其实就是想红色注明的数字排序但如果 山2103(女)272查结果 和后面的 file.xls是统一变化的 怎么办。我的意思是红色部分始终是数字,但其他部分不一定是什么,唯一肯定的是,其他部分的变化是同时的,比如272变成A或者300之类的
山2103(女)272查结果1file.xls
山2103(女)272查结果14file.xls
山2103(女)272查结果15file.xls
山2103(女)272查结果2file.xls除了红色注明的地方外,其他地方都一样。其实就是想红色注明的数字排序但如果 山2103(女)272查结果 和后面的 file.xls是统一变化的 怎么办。我的意思是红色部分始终是数字,但其他部分不一定是什么,唯一肯定的是,其他部分的变化是同时的,比如272变成A或者300之类的那就要麻烦些了,这样就先要找到数字的前后两部分内容,然后再截取了,至于怎么找到这部分相同的内容,可以随便取两个,比如取前两个字符串,然后比较这两个字符串找出数字前后相同的部分,清楚吗?