2015-03-09 17 views
5

tôi muốn xóa mọi thứ giữa "?" và "/"Xóa mọi thứ giữa hai ký tự

văn bản của tôi là "hi?0/hello/hi"

tôi cần phải thấy ra này đưa

"hi?/hello/hi" 

Mã tôi là

key.replaceAll("\\?.*/","?/"); 

nhưng Output của tôi là

"hi?/hi" 

whats sai rồi?

+0

tôi không thể làm với sự chia rẽ hoặc cái gì khác – user298582

Trả lời

6

Bạn đang sử dụng kết hợp tham lam, vì vậy nó khớp với dấu gạch chéo tiếp theo. Hãy thử:

key.replaceAll("\\?.*?/","?/"); 

Một thay thế vẫn sử dụng kết hợp tham lam là để phù hợp với bất kỳ ký tự trừ /:

key.replaceAll("\\?[^/]*/","?/"); 
5

Sử dụng này:

key.replaceAll("\\?.*?/","?/") 

Bạn có thể đọc thêm về greedynon greedy phù hợp với here

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