如何检查字符串开头的空格?

时间:2011-07-04 13:34:56

标签: java

如何检查字符串开头的空格。

5 个答案:

答案 0 :(得分:9)

http://download.oracle.com/javase/6/docs/api/java/lang/String.html

您可以尝试myString.startswith(" ")

myString.matches("^ +.*")

...并从每一侧移除相邻的空格:myString.trim()

答案 1 :(得分:6)

要检查第一个字符是空格:

Character.isWhitespace(myString.charAt(0))

或使用正则表达式:

myString.matches("^\\s+.*")

编辑:不要忘记先检查空字符串或零长度字符串:

if (myString != null && myString.length() > 0) {
  ....  
}

答案 2 :(得分:1)

String str=" hi";
    if(str.startsWith(""))
    {
        System.out.println("Space available");
    }else{
        System.out.println("NO Space available");
    }

你也可以通过不同的方式实现它。以各种方式实现这一目标。

答案 3 :(得分:1)

再添加一个......

public static boolean isStartingWithWhitespace(String str) {
   if (str == null || str.isEmpty())
      return false;

   return str.substring(0,1).trim().isEmpty();
}

说明:trim将删除前导和尾随空格。如果字符串存在且不为空,那么我们从第一个char创建一个新字符串并修剪它。现在,如果结果为空,则原始字符串 以空格开头,我们返回true。否则,答案是“假”。

注意 - 此解决方案无法与Richard H's竞争,后者更优雅;)

答案 4 :(得分:-1)

it is simple just see http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#trim()

trim() method trim space at starting and ending of a string by check unicode value '\u0020' (value of space)(most minimum value in unicode is '\u0020' = space) so it check every index from starting until get value greater than space unicode and also check from last until it get value greater than space and trim start & end. finally return substring without space at start and end.