我試圖提取一封電子郵件並使用模式(EMAIL_PATTERN)將其替換爲空格。運行以下命令時,傳入完整文檔時不會生成任何輸出。該模式只會匹配整個區域。所以這意味着如果我們只通過電子郵件,電子郵件將被匹配並被替換爲一個空格。但以下方法的目的是找到電子郵件和以前的手動提取不是必需的。在tempString中的電子郵件被替換之後,我想將它用於下一個模式。我應該在一種方法中結合我想使用的模式,還是應該將它們放置在不同的方法中?以下是我現在的代碼。另外我有其他模式,但由於我的方法工作不正常,我還沒有發佈。使用多個Java正則表達式
private static final String EMAIL_PATTERN = "[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})";
public static void main (String[] args) {
//Document takes in a ID, student information(which includes email, address, phone, name), school, and text
Document r = new Document("", "FirstName LastName, Address, [email protected], phoneNumber", "School", "experience", "text");
personalEmailZone(r);
}
public static Document personalEmailZone(Document doc){
//tempString is the personal information section of a resume
String tempPI = doc.tempString();
if(doc.tempString().matches(EMAIL_PATTERN) == true){
//Pattern pattern = Pattern.compile("");
Pattern pattern = Pattern.compile(EMAIL_PATTERN);
Matcher matcher = pattern.matcher(tempPI);
String emailTemp = "";
if(matcher.find()){
emailTemp = matcher.group();
System.out.println(emailTemp);
//PI.replace(emailTemp, "");
System.out.println(emailTemp.replace(emailTemp, ""));
tempPI = tempPI.replace(emailTemp, "");
System.out.println(tempPI);
}
}
return doc;
}