如何检查字符串开头的空格。
http://download.oracle.com/javase/6/docs/api/java/lang/String.html
你可以尝试使用 myString.startswith(" ")
或者 myString.matches("^ +.*")
...并去除两侧的空格:myString.trim()
myString.matches("^\\s+.*")
。 - Ted Hopp\0
和
之间的字符,其中包括一些不是空白字符的字符,并且会错过一些是空白字符的字符。 - Peter LawreyCharacter.isWhitespace(myString.charAt(0))
或者使用正则表达式:
myString.matches("^\\s+.*")
编辑: 不要忘记首先检查null或零长度的字符串:if (myString != null && myString.length() > 0) {
....
}
String myString = "";
是在你的代码行之前会发生什么? - BohemianString str=" hi";
if(str.startsWith(""))
{
System.out.println("Space available");
}else{
System.out.println("NO Space available");
}
你也可以通过不同的方式来实现它。有多种方法可用于实现此目标。
' '
)。这是有区别的。空格是一个字符类,包括例如\n
。 - Andreas Dolk只是再加上一个...
public static boolean isStartingWithWhitespace(String str) {
if (str == null || str.isEmpty())
return false;
return str.substring(0,1).trim().isEmpty();
}
解释: trim
会删除字符串前后的空格。如果字符串存在且不为空,则我们从第一个字符创建一个新字符串并对其进行修剪。现在,如果结果为空,则原始字符串确实以空格开头,我们返回 true。否则,答案是“false”。
注意 - 这个解决方案无法与 Richard H's 相竞争,后者更加优雅 ;)
很简单,只需要查看http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#trim()
trim() 方法通过检查 Unicode 值 '\u0020'(空格值)来修剪字符串开头和结尾的空格(在 Unicode 中最小值是 '\u0020'= 空格) 所以它从开头开始检查每个索引,直到获得大于空格 Unicode 的值,并且从末尾开始检查,直到获得大于空格的值并修剪开头和结尾。最后返回没有起始和结尾空格的子字符串。