2013-08-09 46 views
7

Tôi có một vấn đề với việc loại bỏ tất cả mọi thứ sau dấu gạch chéo cuối cùng của URL trong JAVA Ví dụ, tôi có URL:Remove chuỗi sau dấu gạch chéo cuối cùng trong JAVA

http://stackoverflow.com/questions/ask 

n' Tôi muốn thay đổi nó thành:

http://stackoverflow.com/questions/ 

Tôi có thể làm như thế nào.

+2

bạn đã thử bất cứ điều gì? Ít nhất đã đi qua API Chuỗi? –

+4

Sử dụng String.lastIndexOf (String) để tìm dấu gạch chéo cuối cùng và sau đó chọn chuỗi con đến đó ...? Mất khoảng 10 giây để tìm trong API Chuỗi ... – sheltem

+0

giải pháp một dòng. http://stackoverflow.com/questions/5437158/remove-a-trailing-slash-from-a-stringchanged-from-url-type-in-java/27942845#27942845 – Nepster

Trả lời

28

Bạn có thể thử này

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

làm thế nào tôi có thể nhận được chuỗi sau dấu gạch chéo thứ ba trong java? – Shaonline

+0

@Shaonline tôi có thể xem mã lệnh của bạn không? –

+0

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

4

Hãy thử sử dụng String#lastIndexOf()

Trả về chỉ số trong chuỗi này về sự xuất hiện cuối cùng của nhân vật cụ thể.

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

cũng như biểu thức chính quy \/[^ \ /] * $ –

+1

@ ns47731. Đó là thực sự không cần thiết ở đây. –

+0

@RohitJain Quyền của bạn chắc chắn quá mức cần thiết –

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

NẾU bạn muốn để có được giá trị cuối cùng từ URL

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

Ta được kết quả "/ hỏi"

Nếu bạn muốn giá trị sau dấu gạch chéo cuối cùng

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

Kết quả sẽ là "hỏi"

Các vấn đề liên quan