删除两个字符之间的任

时间:2015-03-09 08:03:13

标签: java

我想删除"?"之间的任何内容和" /"

我的文字是"hi?0/hello/hi"

我需要看到这个

"hi?/hello/hi"

我的代码

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

但我的输出是

"hi?/hi"

怎么了?

2 个答案:

答案 0 :(得分:6)

您正在使用贪婪匹配,因此它也匹配下一个斜杠。尝试:

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

仍然使用贪婪匹配的替代方法是匹配除/以外的任何字符:

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

答案 1 :(得分:5)

使用此:

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

您可以阅读有关greedynon greedy匹配here

的更多信息