Замените специальный символ на специальный символ в начале Java

В моем Java-коде, если в строковом вводе есть какие-либо из упомянутых специальных символов, ему должно предшествовать\\

Специальный набор символов{+, -, &&, ||, !, (, ), {, },[, ], ^, "", ~, *, ?, :, \}, Я пытался с помощьюString.replaceAll(old,new) но, к моему удивлению, это не работает, хотя я даю правильные значения длястарый» а также 'новый.

if old=":",new="\:"

Я поместил специальные символы в массив String, повторил его в цикле for, проверил, присутствует ли он в строке, если да,input.replaceAll(":","\\:"), Но это не дает мне предполагаемый результат. Пожалуйста помоги

String[] arr = { "+", "-", "&&", "||", "!", "(", ")", "{", "}",
                "[", "]", "^", "\"", "~", "*", "?", ":", "\\", "AND", "OR" };

    for (int i = 0; i < arr.length; i++) {
//'search' is my input string

        if (search.contains((String) arr[i])) {

            String oldString = (String) arr[i];

            String newString = new String("\\" + arr[i]);
            search = search.replaceAll(oldString, newString);
            String newSearch = new String(search.replaceAll(arr[i],
                    newString));


        }
    }

Ответы на вопрос(4)

Ваш ответ на вопрос