2015-03-09 17 views
5

"?" Arasında bir şey kaldırmak istiyorum ve "/"İki karakter arasındaki bir şeyi kaldırın

benim metin ben şuna

"hi?/hello/hi" 

Benim Kod

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

mi

koymak ama benim Çıktı

"hi?/hi" 
mı görmek gerek "hi?0/hello/hi"

olduğunu

whats Yanlış?

+0

Yapamam Bu bölünmüş veya başka bir şey ile – user298582

cevap

6

Açgözlü eşleştirmeyi kullanıyorsunuz, bu yüzden sonraki eğik çizgi ile de eşleşiyor. Deneyin:

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

hala açgözlü eşleştirme kullanarak alternatif / dışındaki tüm karakterler maç için geçerli:

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

bunu kullanın:

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

Sen here eşleşen greedy ve non greedy hakkında daha fazla bilgi bulabilirsiniz

İlgili konular