如何验证字符串是否包含整个其他字符串?

时间:2018-05-03 23:53:11

标签: java android string

所以我有这个方法,如果验证是正确的,则返回true:

private boolean validation() {
    String emailStr = etEmail.getText().toString();
    if (emailStr.trim().isEmpty()) {
        etEmail.setError(getResources().getString(R.string.eroareEmpty));
        return false;
    } else if (!emailStr.endsWith("stud.ase.ro") && emailStr.length() <= 15) {
        etEmail.setError(getResources().getString(R.string.eroareEmail));
        return false;
    }

    return true;
}

我想验证我在EditText etEmail中输入的文本是否包含(仅在字符串的末尾)&#34; stud.ase.ro&#34;,整个字符串不仅仅是它的一部分。 简单来说,我想验证电子邮件是否以&#34; stud.ase.ro&#34;没有别的。

目前我的方法返回true,即使我输入的内容非常类似于&#34; hellllllllllllooo @ stud&#34;,它不应该这样做。

1 个答案:

答案 0 :(得分:1)

要匹配字符串的末尾,请使用String.endsWith方法。

if (str.endWiths("hello123@stud")) {

  //bla bla
}

您可能希望改进代码。您正在使用EditText吗?

  1. EditText.getText()未返回null
  2. 您应该为重复代码访问EditText内的文字创建一个局部变量:String emailStr = etEmail.getText().toString()
  3. 它会增加可读性。