我需要比较两个字符串。
输入值就像
SELECT * FROM ds WHERE ds.age='24';
需要比较的文本是
SELECT * FROM ds WHERE ds.status='VALID' AND ds.age='24';
由于“ds.status='VALID' AND”是静态字符串,因此我想到将其插入到输入中,然后与原始字符串进行比较。
所以我创建了一个 StringBuilder 对象并且
query.insert(query.indexOf("WHERE"), "ds.status='VALID' AND");
但是输出是
SELECT * FROM ds ds.status='VALID' AND WHERE ds.age='24';
此外,indexOf() 不能以静态位置输入,因为它可能随输入而变化。 有没有办法找到单词“WHERE”最后一个字母的索引?
我找到的解决方法是
String query = query.replace("WHERE", "WHERE ds.status='VALID' AND");
这是最好的方法吗?
最佳答案
query.insert(query.indexOf("WHERE") + "WHERE".length(), " ds.status='VALID' AND");
关于java - StringBuilder.insert(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10991904/