Мне нужно сравнить две строки.
Входное значение похоже на
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("ГДЕ"), "ds.status='ДЕЙСТВИТЕЛЬНО' И");
но выход был
SELECT * FROM ds ds.status='VALID' AND WHERE ds.age='24';
Кроме того, indexOf() нельзя вводить со статической позицией, поскольку она может меняться в зависимости от ввода. Есть ли способ найти индекс последней буквы слова «ГДЕ»?
Обходной путь, который я нашел, это
String query = query.replace("ГДЕ", "ГДЕ ds.status='ДЕЙСТВИТЕЛЬНО' И");
Это лучший возможный метод?
query.replace(" WHERE ", " WHERE ds.status='VALID' AND ");- person Peter Lawrey   schedule 12.06.2012