所以我的任務是檢查一個電子郵件是否有特定的形式。它必須是[email protected]
,其中x
可以是其他任何東西,但其餘是必須的。檢查一個字符串是否包含正確位置的子字符串
如果剩下的稍有不同,我必須打印該用戶不被接受。我不知道該怎麼做。我寫了沒有代碼,因爲我不知道如何解決這個問題。
所以我的任務是檢查一個電子郵件是否有特定的形式。它必須是[email protected]
,其中x
可以是其他任何東西,但其餘是必須的。檢查一個字符串是否包含正確位置的子字符串
如果剩下的稍有不同,我必須打印該用戶不被接受。我不知道該怎麼做。我寫了沒有代碼,因爲我不知道如何解決這個問題。
您可以使用正則表達式。
符合您輸入的模式是:^it\w*@uom.edu.gr
。所述\w*
裝置
零個或多個任何字字符(字母,數字,下劃線)的
如果要例如包括多個符號「」但排除了「@」原因很明顯,你可以換着花樣用[^@]*
這意味着
零個或多個任何單個字符不包括「@」的。
因此模式變爲:^it[^@]*@uom.edu.gr
使用任何兩套西裝的您的需求。
示例代碼:
Pattern p = Pattern.compile("^it\\w*@uom.edu.gr");
Matcher m = p.matcher("[email protected]");
boolean b = m.matches();
以上可以按你一直要求擴大,如:
public static void main(String[] args)throws Exception{
String email = "[email protected]";
Pattern p = Pattern.compile("^it\\w*@uom.edu.gr");
Matcher m = p.matcher(email);
boolean b = m.matches();
if(b) {
System.out.println("Valid email");
} else {
System.out.println("Invalid email.");
}
}
這是該工作的正確解決方案。一個細節,嚴格來說'\ w *'不匹配「任何」,只有a-zA-Z_0-9。這可能已經足夠好了,或者您可能希望接受更多的角色,具體取決於您對電子郵件地址的瞭解。 –
@ OleV.V。你指出它是正確的,一個更好的模式將是:'^ it [^ @] * @ uom.edu.gr' – pleft
使用startsWith和的endsWith
String var = "[email protected]";
if(var.startsWith("it") && var.endsWith("end.com")){
// your code
}
else {
// String do not start with it or it does not end end.com
}
嘗試使用正則表達式。 – Pein
可能的重複[如何檢查一個字符串是否包含另一個字符串在Java中不區分大小寫的方式?](http://stackoverflow.com/questions/86780/how-to-check-if-a-string-contains-另一個字符串不區分大小寫in) –
查看[String]的indexOf方法(http://docs.oracle.com/javase/7/docs/api/java/ lang/String.html)類。 –