我正在尝试使用此字符串
where lowercase(pdd.last_name) like 'albert%'
并使用此函数将“pdd”替换为“p”
sb.replace(queryAdd.indexOf("pdd"), (queryAdd.indexOf("pdd") + 3), "p");
其中sb是一个StringBuffer,但它不起作用,这是它实际返回的内容
where lowercase(pdpast_name) like 'albert%'
为什么这不能用“p”代替“pdd”?
答案 0 :(得分:2)
StringBuffer s = new StringBuffer("where lowercase(pdd.last_name) like 'albert%'");
s.replace(s.indexOf("pdd"),(s.indexOf("pdd")+3), "p");
System.out.println(s);
我认为你的sb和queryAdd有不同的数据。
答案 1 :(得分:1)
试试这个
String str = "where lowercase(pdd.last_name) like 'albert%'";
str = str.replaceFirst("pdd", "p");
答案 2 :(得分:1)
它适用于我的情况。看看我的代码(我假设这是你想要做的)....
StringBuffer sb = new StringBuffer("where lowercase(pdd.last_name) like 'albert%'");
String queryAdd="where lowercase(pdd.last_name) like 'albert%'";
sb.replace(queryAdd.indexOf("pdd"), (queryAdd.indexOf("pdd") + 3), "p");
System.out.println(sb);
输出:where lowercase(p.last_name) like 'albert%'