检查字符串是否包含正确位置的子串

时间:2016-11-21 13:36:23

标签: java string

所以我的任务是检查电子邮件是否有特定的表单。它必须是itxxxxxx@uom.edu.grx可以是什么,但其余的是必须的。

如果其余部分略有不同,我必须打印不接受此用户。我不知道该怎么做。我没有写任何代码,因为我不知道如何解决这个问题。

2 个答案:

答案 0 :(得分:4)

您可以使用正则表达式。

与您的输入匹配的模式是:^it\w*@uom.edu.gr\w*表示

  

任何单词字符(字母,数字,下划线)中的零个或多个

如果您想要添加更多符号,例如“”但是出于显而易见的原因排除“@”,您可以更改模式以使用[^@]*,这意味着

  

除“@”之外的任何单个字符的零个或多个。

因此模式变为:^it[^@]*@uom.edu.gr

根据您的需要使用任何两种套装。

示例代码:

Pattern p = Pattern.compile("^it\\w*@uom.edu.gr");
Matcher m = p.matcher("itxxxxxx@uom.edu.gr");
boolean b = m.matches();

以上内容可根据您的要求进行扩展,例如:

public static void main(String[] args)throws Exception{

    String email = "itxxxxxx@uom.edu.gr";

    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.");
    }

}

答案 1 :(得分:1)

使用startsWith和endsWith

String var = "itxxxxxx@end.com";
if(var.startsWith("it") && var.endsWith("end.com")){
    // your code
}
else {
   // String do not start with it or it does not end end.com
}