我正在編輯從tesseract ocr獲得的一些電子郵件。String.replaceAll()不工作
這裏是我的代碼:
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;
但輸出是不正確的。
輸入:
[email protected] mai|.com
輸出:
[email protected]|l.lclolml
但是當我分配結果到一個新的字符串每次更換後,它工作正常。爲什麼連續賦值在同一個字符串中不起作用?
當我複製/字
career
的isspellings粘貼在(和修復第5行錯字),它會導致什麼似乎是一個正確的結果 - 「amrut =交流。 [email protected]」。 – Ren 2013-02-12 05:45:36考慮使用String.replace而不是replaceAll。它完全符合我相信您期望的所有要做的事情。 – Buhb 2013-02-12 06:58:58
因爲看到這樣的代碼,我的眼睛受傷了。 – 2013-02-12 13:28:03