java - 如何验证一个字符串是否包含另一个字符串?
问题描述
所以我有这个方法,如果验证正确,它会返回 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 中输入的文本是否包含(仅在字符串的末尾)“stud.ase.ro”,整个字符串不仅仅是它的一部分。简而言之,我想验证电子邮件是否以“stud.ase.ro”结尾而没有其他内容。
目前我的方法返回 true,即使我输入了一些不寻常的东西,比如“helllllllllllooo@stud”,它不应该这样做。
解决方案
要匹配字符串的末尾,请使用该String.endsWith
方法。
if (str.endWiths("hello123@stud")) {
//bla bla
}
您可能想改进您的代码。你用对了EditText
吗?
EditText.getText()
不返回null
- 您应该为重复的代码创建一个局部变量来访问里面的文本
EditText
:String emailStr = etEmail.getText().toString()
它将大大提高可读性。
推荐阅读
- python - 我可以改变什么来让 k-means 以 Python 中预期的方式对我的数据进行聚类?
- android - 无法读取 packageName ':generateDebugBuildConfig'
- javascript - 如果在从数据库中获取数据后选中一个复选框,如何禁用其他复选框
- r - 如何为带有左对齐和右对齐文本的绘图添加标题
- c# - 对其中包含 Environment.Exit() 调用的方法进行单元测试
- swift - 我收到此错误“尝试将非属性列表对象设置为 NSUserDefaults”
- office365 - 客户端应用程序是否必须注册 Azure AD 才能访问 Microsoft Graph API?
- python - 如何使用python检查[dot]文件夹是否存在
- ios - 带有函数参数的 CoreData 谓词
- javascript - 如何在chart.js上设置正确的时间刻度X轴每小时刻度