2013-08-09 20 views
7

son çizgiden sonra ben Mesela JAVA URL'nin son çizgiden sonra her şeyi kaldırarak bir sorun var, ben URL:Kaldır dize JAVA

http://stackoverflow.com/questions/ask 

n' ı olarak değiştirin istiyorum:

http://stackoverflow.com/questions/ 

Nasıl yapabilirim?

+2

Hiçbir şey denedin "ask"? En azından Dize API'sı üzerinden geçti? –

+4

Son eğik çizgiyi bulmak için String.lastIndexOf (String) öğesini kullanın ve ardından ... String API ... – sheltem

+0

tek satır çözüm bulmak için yaklaşık 10 saniye sürer. http://stackoverflow.com/questions/5437158/remove-a-trailing-slash-from-a-stringchanged-from-url-type-in-java/27942845#27942845 – Nepster

cevap

28

Bu

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

java'da üçüncü eğik çizgiden sonra nasıl string alabilirim? – Shaonline

+0

@Shaonline Kodunuzu görebilir miyim? –

+0

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

4

String#lastIndexOf()

belirtilen karakterin son görüldüğü yerin bu dize içinde dizinini döndürür kullanmayı deneyin. Eğer

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

Sonucu olacak URL'den son değeri elde etmek istiyoruz EĞER

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

Ayrıca düzenli bir ifade olarak \/[^ \ /] * $ –

+1

@ ns47731. Bu gerçekten burada gerekli değildir. –

+0

@RohitJain Hakkı kesinlikle aşırı fazla –

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

deneyebilirsiniz

"/ ask"

Eğer Geçen ileri sonra değeri

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

Sonucu olacak çizgi istiyorum