有人可以帮我完成这项任务,感谢您抽出宝贵时间。
有大量的文件名(文件名字符串),我必须从以下示例文件名中获取每个文件名的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();
}
答案 0 :(得分:-1)
对于您提供的示例,这将起作用:
String filename = "1100_007_1_ALL_GC_Identify_TOA.txt";
String id = filename.replaceAll("_\\D.*", "");
以下正则表达式假定在“ID”部分后面有一个“_”符号,后跟一些字符以外的字符。