java - StringBuilder.insert()

标签 java stringbuilder

我需要比较两个字符串。

输入值就像

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/

相关文章:

java - sqoop 与 hadoop 集成抛出 ClassNotFoundException

java - StringBuffer 与 StringBuilder

java - 不能用Eclipse做StringBuilder

java - 每当我尝试更改 Activity 时,我的应用就会崩溃

java - 按范围日期分组

java - Java 中创建其他对象的对象是否是糟糕的程序设计?

java - 根据长度拆分并添加字符串

java - 将 StringBuilder 作为字符串 JAVA 返回

java - Spring Controller 是线程安全的吗?

java - Android - 多个 View 或运行时 fragment 替换​​?