替换 Java 中的确切字符串
Replace Exact String in Java
这是我得到的字符串:
http://sdsadasd/time/time.jsp?tp=&a
现在我想用 java.jsp 替换第二个 time.jsp 但 不是第一个"time"?
如何实现?我已经试过了,但没用:
replaceAll("\btime.jsp"", "java.jsp");
谢谢。
试试这个:
replaceAll("time.jsp", "java.jsp");
您可以使用:
String result = "http://sdsadasd/time/time.jsp?tp=&a".replaceFirst("time\.jsp", "java.jsp");
或者用好朋友ApacheCommonStringUtils...
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
如果我对您的问题的理解正确,您只想替换 第二次出现的 "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);
}
我没有编译这个,但它是您可以使用的通用解决方案!
这是我得到的字符串:
http://sdsadasd/time/time.jsp?tp=&a
现在我想用 java.jsp 替换第二个 time.jsp 但 不是第一个"time"?
如何实现?我已经试过了,但没用:
replaceAll("\btime.jsp"", "java.jsp");
谢谢。
试试这个:
replaceAll("time.jsp", "java.jsp");
您可以使用:
String result = "http://sdsadasd/time/time.jsp?tp=&a".replaceFirst("time\.jsp", "java.jsp");
或者用好朋友ApacheCommonStringUtils...
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
如果我对您的问题的理解正确,您只想替换 第二次出现的 "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);
}
我没有编译这个,但它是您可以使用的通用解决方案!