文件名字符串

时间:2013-03-06 18:11:42

标签: java

有人可以帮我完成这项任务,感谢您抽出宝贵时间。

有大量的文件名(文件名字符串),我必须从以下示例文件名中获取每个文件名的ID。

1100_007_1_ALL_GC_Identify_TOA.txt
1100_007_2_ALL_GC_Identify_TOA.txt
1100_008A_1_ALL_GC_Set_Individual_In-Active.txt
1100_008B_2_ALL_GC_Set_Individual_In-Active_TP.txt
1100_001_TOA_Indiv.txt
1100_002_TOA_Indiv.txt
1100_006_ALL_GC_Check_In_Active_TOA.txt
1100_010_TOA_Control_1.txt

Final output should be :-
File ID's:
1100_007_1
1100_007_2
1100_008A_1
1100_008B_1
1100_001
1100_002
1100_006
1100_010 

我尝试了以下操作,但它不适用于文件1100_008A_1

public static String stripNonDigits(final String input){
   final StringBuilder sb = new StringBuilder();
   for(int i = 0; i < input.length(); i++){
      final char c = input.charAt(i);
      if(c > 47 && c < 58){
         sb.append(c);
      }
   }
   return sb.toString();
}   

1 个答案:

答案 0 :(得分:-1)

对于您提供的示例,这将起作用:

String filename = "1100_007_1_ALL_GC_Identify_TOA.txt";
String id = filename.replaceAll("_\\D.*", "");

以下正则表达式假定在“ID”部分后面有一个“_”符号,后跟一些字符以外的字符。