2015-03-09 5 views
5

Я хочу удалить что-нибудь между "?" и "/"Удалить что-нибудь между двумя символами

мой текст "hi?0/hello/hi"

мне нужно, чтобы увидеть это из положить

"hi?/hello/hi" 

Мой код

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

но мой выход Is

"hi?/hi" 

Что неправильно?

+0

Я не могу что с расколом или чем-то еще – user298582

ответ

6

Вы используете жадное соответствие, поэтому оно соответствует следующему косу. Попробуйте:

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

Альтернативой до сих пор используют жадные соответствия, чтобы соответствовать любому символу, кроме /:

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

Используйте это:

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

Вы можете прочитать больше о greedy и non greedy сопрягая here

Смежные вопросы