我在Android应用程序中验证编辑文本时遇到问题。我尝试了很多方法,但没有一种适合我的方案。当用户尝试保存帖子时,只需在编辑文本字段中输入空格,我需要弹出一条错误消息。但我能够检查用户只输入空格的情况。
我使用了以下方法:
if(subjectText.isEmpty() || detailsText.isEmpty() || subjectText.equals(" ") || detailsText.equals(" ")){
// perform operation.
}
此处.equals(" ")
方法仅检查一个空格。如果用户条目是" "
而不是文本,我该如何检查告诉用户没有文本。请任何人告诉我。欢迎提出所有建议。
我也试过.contains(" ")
方法,这个方法解决了这个问题,但即使文本之间有空格,它也会弹出不应该发生的错误。如果用户条目为"how are you"
,则.contains(" ")
方法会出错。
我该如何解决这个问题。请帮我解决这个问题。
答案 0 :(得分:4)
您可以使用startsWith(" ")
检测字符串开头的空格。
修改:
也许就像这样
if(subjectText.isEmpty() || detailsText.isEmpty() || subjectText.startsWith(" ") || detailsText.startsWith(" ")){
// perform operation.
}
答案 1 :(得分:0)
试试这个,删除你从EditText输入的所有空格
if(subjectText.trim().length()<1){
//perform action
}
答案 2 :(得分:0)
进行正则表达式检查。像这样检查空格;
if(... || subjectText.matches("^\\s*$") || ... }
对于空白区域,您也可以
subjectText.trim().lenght==0
答案 3 :(得分:0)
试试这个:
final String subjectText = " foo ";
if (subjectText.replaceFirst("\\s+$", "").length() == 0) {
// perform operation.
}
来自here的代码