I am editing some email that got from tesseract ocr.
Here is my code:
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;
But the output is not correct.
Input :
amrut=ac.hrworks@g mai|.com
Output :
lalcl.lhlrlwlolrlklsl@lglmlalil|l.lclolml
But when I assigned the result to a new String after every replacement, it works fine. Why continuous assignment in the same String is not working?
You'll note in the Javadoc for String.replaceAll() that the first argument is a regular expression.
A period (.
) has a special meaning there as does a pipe (|
) as does a curly brace (}
). You need to escape them all, such as:
email = email.replaceAll("gmaii\\.com", "gmail.com");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With