String.replaceAll () no está funcionando

Estoy editando un correo electrónico que recibí de tesseract ocr.

Aquí está mi código:

 if (email != null) {
        email = email.replaceAll(" ", "");
        email = email.replaceAll("caneer", "career");
        email = email.replaceAll("canaer", "career");
        email = email.replaceAll("canear", "career");
        email = email.replaceAll("caraer", "career");
        email = email.replaceAll("carear", "career");
        email = email.replace("|", "l");
        email = email.replaceAll("}", "j");
        email = email.replaceAll("j3b", "job");
        email = email.replaceAll("gmaii.com", "gmail.com");
        email = email.replaceAll("hotmaii.com", "hotmail.com");
        email = email.replaceAll(".c0m", ".com");
        email = email.replaceAll(".coin", ".com");
        email = email.replaceAll("consuit", "consult");
    }
    return email;

Pero la salida no es correcta.

Entrada:

amrut=ac.hrworks@g mai|.com

Salida:

lalcl.lhlrlwlolrlklsl@lglmlalil|l.lclolml

Pero cuando asigné el resultado a una nueva Cadena después de cada reemplazo, funciona bien. ¿Por qué la asignación continua en la misma cadena no funciona?

Respuestas a la pregunta(6)

Su respuesta a la pregunta