2013-08-09 19 views
7

Ho un problema con la rimozione tutto dopo l'ultima barra di URL in JAVA Per esempio, io ho URL:Rimuovere stringa dopo l'ultima barra in JAVA

http://stackoverflow.com/questions/ask 

n' Voglio cambiare a:

http://stackoverflow.com/questions/ 

Come posso farlo.

+2

Hai provato qualcosa? Almeno passato attraverso l'API String? –

+4

Utilizzare String.lastIndexOf (String) per trovare l'ultima barra e quindi selezionare la sottostringa fino a lì ...? Ci vogliono circa 10 secondi per trovare nell'API String ... – sheltem

+0

soluzione a una linea. http://stackoverflow.com/questions/5437158/remove-a-trailing-slash-from-a-stringchanged-from-url-type-in-java/27942845#27942845 – Nepster

risposta

28

Si può provare questo

String str="http://stackoverflow.com/questions/ask"; 
    int index=str.lastIndexOf('/'); 
    System.out.println(str.substring(0,index)); 
+0

come posso ottenere una stringa dopo la terza barra in java? – Shaonline

+0

@Shaonline posso vedere il tuo codice pls? –

+0

http://stackoverflow.com/questions/37138900/how-to-fetch-string-after-the-third-slash-in-java – Shaonline

4

Prova utilizzando String#lastIndexOf()

restituisce l'indice all'interno di questa stringa dell'ultima occorrenza del carattere specificato.

String result = yourString.subString(0,yourString.lastIndexOf("/")); 
+0

anche come espressione regolare \/[^ \ /] * $ –

+1

@ ns47731. Che non è davvero necessario qui. –

+0

@RohitJain Il tuo diritto sicuramente eccessivo –

1
if (null != str && str.length > 0) 
{ 
    int endIndex = str.lastIndexOf("/"); 
    if (endIndex != -1) 
    { 
     String newstr = str.subString(0, endIndex); // not forgot to put check if(endIndex != -1) 
    } 
} 
5

SE si desidera ottenere l'ultimo valore dall'URL

String str="http://stackoverflow.com/questions/ask"; 
System.out.println(str.substring(str.lastIndexOf("/"))); 

Risultato sarà "/ ask"

Se si vuole valore dopo l'ultima di barra

String str="http://stackoverflow.com/questions/ask"; 
System.out.println(str.substring(str.lastIndexOf("/") + 1)); 

Risultato sarà "chiedere"

Problemi correlati