这是我在java中的替换方法,但无法替换以下内容。
它只替换一个\
请帮忙。请问有谁有不同的更换方法吗?
我尝试过java标准API,但不起作用,请尝试以下senario --> System.out.println(replace("这个%s就是问题", "%", "\%"));
public static String replace(String str, String sub, String rep) {
int s, p, q;
int slen = sub.length();
StringBuffer sb = new StringBuffer();
s = 0;
p = str.indexOf(sub);
q = p + slen;
while (p != -1) {
sb.append(str.substring(s, p));
sb.append(rep);
s = q;
p = str.indexOf(sub, s);
if (p != -1) {
q = p + slen;
}
}
sb.append(str.substring(s));
return sb.toString();
}
最佳答案
您可以使用replaceAll方法。您只需要小心转义\和 % (尽管我不完全理解为什么您需要四个 '\')!
String myString = "this%s is the problem";
myString = myString.replaceAll("%","\\\\%);
关于java - 无法替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2191670/