2016-05-10 8 views
0

Ich versuche, die Zeichenfolge nach dem dritten Schrägstrich zu holen. Aber ich weiß nicht, wie es geht. Ich habe Split benutzt, aber das will ich nicht.Wie fange ich die Zeichenfolge nach dem dritten Schrägstrich in Java

for(String obj2: listKey.getCommonPrefixes()){ 
    Map<String, String> map = new HashMap<String, String>(); 
    String[] id = obj2.split("/"); 
    if (id.length > 3) { 
     String name = id[3]; 
     map.put("id", name); 
     map.put("date", "null"); 
     map.put("size", String.valueOf(obj2.length())); 
     keys.add(map); 
    } 
} 

id[3] gibt mir nur id[3] aber ich will alles nach dem dritten Schrägstrich? wie kann ich das machen?

+2

Können Sie Ihre Eingabe, den Wert von obj2 vor dem Split zeigen? – pczeus

Antwort

8

Sie

ersetzen
String[] id = obj2.split("/"); 

von

String[] id = obj2.split("/", 4); 

Vom javadoc:

Der Grenzwert Parameter die Anzahl der Zeiten steuert das Muster angewendet wird, und wirkt sich daher die Länge das resultierende Array. Wenn das Limit n größer als Null ist, wird das Muster höchstens n - 1 Mal angewendet, die Länge des Arrays ist nicht größer als n und der letzte Eintrag des Arrays enthält alle Eingaben über das letzte übereinstimmende Trennzeichen hinaus. Wenn n nicht positiv ist, wird das Muster so oft wie möglich angewendet und das Array kann eine beliebige Länge haben. Wenn n Null ist, wird das Muster so oft wie möglich angewendet, das Array kann eine beliebige Länge haben, und nachfolgende leere Strings werden verworfen.