2015-03-09 13 views
5

Ich möchte etwas zwischen "?" und "/"Entfernen Sie alles zwischen zwei Zeichen

mein Text ist "hi?0/hello/hi"

Ich brauche dies, um zu sehen

setzen
"hi?/hello/hi" 

mein Code

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

aber meine Ausgabe ist

"hi?/hi" 

was ist? falsch?

+0

kann ich nicht tun das mit Split oder etwas anderem – user298582

Antwort

6

Sie verwenden gieriges Matching, also passt es auch zum nächsten Schrägstrich. Versuchen:

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

Eine Alternative noch gierig Matching ist jedes Zeichen außer / entsprechen:

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

verwenden:

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

können Sie mehr lesen über greedy und non greedy passende here

Verwandte Themen