【问题标题】:How to check for initial spaces in the text entered in edit text android如何检查在编辑文本android中输入的文本中的初始空格
【发布时间】:2015-06-08 08:05:06
【问题描述】:

我在验证我的 android 应用程序中的编辑文本时遇到问题。我尝试了很多方法,但没有一个适合我的场景。当用户尝试保存帖子时,在编辑文本字段中仅输入空格时,我需要弹出一条错误消息。但我可以检查用户只输入空格的情况。

我使用了以下方法:

if(subjectText.isEmpty() || detailsText.isEmpty() || subjectText.equals(" ") || detailsText.equals(" ")){

// perform operation.

}

这里.equals(" ") 方法只检查一个空格。如果用户条目是 " " 之类的东西而不是文本,我如何检查告诉用户没有文本。请任何人告诉我。欢迎所有建议。

我也试过.contains(" ")方法,这个方法解决了问题,但即使文本之间有空格,它也会弹出不应该发生的错误。如果用户条目是"how are you".contains(" ") 方法会报错。

我该如何解决这个问题。请帮我解决这个问题。

【问题讨论】:

    标签: android validation android-edittext


    【解决方案1】:

    您可以使用startsWith(" ") 来检测字符串开头的空格。

    编辑:

    可能是这样的

    if(subjectText.isEmpty() || detailsText.isEmpty() || subjectText.startsWith(" ") || detailsText.startsWith(" ")){
    
    // perform operation.
    
    }
    

    【讨论】:

    • 即使开头有多个空格字符也能正常工作吗?
    • 它可以工作,因为它会在开始时检查空格。如果有多个空格,则第一个空格将使条件返回 true。
    【解决方案2】:

    对此进行正则表达式检查。像这样检查空格;

    if(... || subjectText.matches("^\\s*$") || ... }
    

    对于空白,你也可以这样做

    subjectText.trim().lenght==0
    

    【讨论】:

      【解决方案3】:

      试试这个,删除您从 EditText 输入的所有空格

      if(subjectText.trim().length()<1){
         //perform action
      }
      

      【讨论】:

        【解决方案4】:

        试试这个:

        final String subjectText = "  foo   ";
        if (subjectText.replaceFirst("\\s+$", "").length() == 0) {
        
        // perform operation.
        
        }
        

        来自here的代码

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-10-29
          • 2020-08-17
          • 2015-07-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-02-28
          • 2013-05-22
          相关资源
          最近更新 更多