我如何识别编辑文本中的初始白色 space/spaces?

How do I recognize the initial white space/spaces in my edit text?

我试图识别编辑文本中的初始空格,这样如果用户输入 " "(任意数量的空格),它不会启用我的完成按钮。 所以,到目前为止,我在 placE 中有这段代码:

String sendString = mSendText.getText().toString();
if(sendString.equals(" ")||sendString.isEmpty()||sendString ==null ){
//do nothing
                }else {
//do my stuff
}

问题是我希望 else 仅在我的字符串中包含任何字符时才起作用,只要它不是开头的所有空格即可。 我的代码仅适用于 1 个空格。我想让它无论开头有多少个空格,只要没有字符出现,它就会删除它们或不启用我的完成按钮。

例如:

This should go to the if loop: "      "
This should go to the else loop: "    Hello, it's me"    

有什么想法吗? 谢谢!

只需将 equalsTo() 替换为 startsWith():

String sendString = mSendText.getText().toString();
if( (sendString == null) || (sendString.startsWith(" ")) || (sendString.isEmpty())){
    //do nothing
}else{
    //do my stuff
}

也许,如果您只对相关文本感兴趣,您可以使用 trim()

排除 beginning/ending 中的空格
String sendString = mSendText.getText().toString().trim();
if(sendString.isEmpty()) {
    //do nothing
}else{
    //do my stuff
}

使用trim()删除String开头和结尾的奇数空格。

 String str = new String("   Welcome to Tutorialspoint.com   ");

 System.out.print("Return Value :" );
 System.out.println(Str.trim() );

Returns Welcome to Tutorialspoint.com

我会删除所有空格然后检查字符串中是否有任何内容。

String sendString = mSendText.getText().toString().replace(" ","");
if(sendString.isEmpty()){
     // do nothing
}else{
     // do something
}