Не используйте replaceAll(..)
для замены без регулярных выражений.Вместо этого используйте replace(..)
.
Затем убедитесь, что у вас есть:
query = query.replace(":", "\\:");
, потому что String
является неизменным - то есть, если вы просто вызываете метод без присвоения результата, вы ничего не получите- внутреннее состояние объекта не изменится.