我正在尝试识别编辑文本中的初始空格,这样如果用户输入" "
(任意数量的空格),它就不会启用我的完成按钮。
所以,我在placE中有这个代码:
String sendString = mSendText.getText().toString();
if(sendString.equals(" ")||sendString.isEmpty()||sendString ==null ){
//do nothing
}else {
//do my stuff
}
问题是我希望else只有当我的字符串中包含任何字符时才能工作,只要它在开头不是JUST ALL空格。 我的代码只适用于1个空格。我想这样做,无论开头有多少个空格,只要没有出现任何字符,它就会删除它们或不启用我的完成按钮。
例如:
This should go to the if loop: " "
This should go to the else loop: " Hello, it's me"
有什么想法吗? 谢谢!
答案 0 :(得分:2)
只需将equalsTo()
替换为startsWith()
:
String sendString = mSendText.getText().toString();
if( (sendString == null) || (sendString.startsWith(" ")) || (sendString.isEmpty())){
//do nothing
}else{
//do my stuff
}
也许,如果您只对相关文字感兴趣,可以使用trim()
String sendString = mSendText.getText().toString().trim();
if(sendString.isEmpty()) {
//do nothing
}else{
//do my stuff
}
答案 1 :(得分:1)
使用trim()
删除String
开头和结尾的奇数空格。
String str = new String(" Welcome to Tutorialspoint.com ");
System.out.print("Return Value :" );
System.out.println(Str.trim() );
返回Welcome to Tutorialspoint.com
答案 2 :(得分:1)
我会删除所有空格,然后检查字符串后面是否有任何内容。
String sendString = mSendText.getText().toString().replace(" ","");
if(sendString.isEmpty()){
// do nothing
}else{
// do something
}