-4

誰かがこのタスクで私を助けてくれませんか、時間を割いてくれてありがとう.

膨大な数のファイル名 (ファイル名の文字列) があり、以下のサンプル ファイル名から各ファイル名から 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();
}   
4

1 に答える 1

0

あなたが与えた例では、これはうまくいくでしょう:

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

次の正規表現は、「ID」部分の直後に「_」記号があり、その後に数字以外の文字が続くことを前提としています。

于 2013-03-06T18:16:47.877 に答える