这是我收到的字符串:
http://sdsadasd/time/time.jsp?tp=&a
现在我想用 java.jsp 替换第二个 time.jsp ,但是不是第一个“时间”?
我怎样才能实现它?我已经尝试了这个,但它不起作用:
replaceAll("\\btime.jsp"", "java.jsp");
感谢。
答案 0 :(得分:1)
试试这个:
replaceAll("time.jsp", "java.jsp");
答案 1 :(得分:1)
您可以使用:
String result = "http://sdsadasd/time/time.jsp?tp=&a".replaceFirst("time\\.jsp", "java.jsp");
或者使用好友ApacheCommon StringUtils ...
String result = StringUtils.replaceOnce("http://sdsadasd/time/time.jsp?tp=&a", "time.jsp", "java.jsp");
例如,你可以这样做:
public static void main(String[] args) {
String result = "http://sdsadasd/time/time.jsp?tp=&a".replaceFirst("time\\.jsp", "java.jsp");
System.out.println(result);
}
// Print:
http://sdsadasd/time/java.jsp?tp=&a
答案 2 :(得分:0)
如果我正确理解了您的问题,您希望仅替换 第二次出现" time.jsp"。
Try the following:
boolean replace = false;
int index = myString.indexOf("time.jsp");
while(index != -1) {
String substr = myString.substring(index);
if(replace) {
//do your replacement
}
index = myString.indexOf("time.jsp", index + 1);
}
我没有编译它,但它是一个可以使用的通用解决方案!