java中的空格

mko*_*nal 12 java whitespace

Java中有哪些类型的空格?如果文本包含任何空格,我需要检查我的代码.

我的代码是:

if (text.contains(" ") || text.contains("\t") || text.contains("\r") 
       || text.contains("\n"))   
{  
   //code goes here
}   
Run Code Online (Sandbox Code Playgroud)

我已经知道了\n,\t,\rspace.

Mar*_*ers 18

对于非正则表达式方法,您可以检查Character.isWhitespace每个字符.

boolean containsWhitespace(String s) {
    for (int i = 0; i < s.length(); ++i) {
        if (Character.isWhitespace(s.charAt(i)) {
            return true;
        }
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

Java中的白色空间是哪些?

该文档指定了Java认为是什么空格:

public static boolean isWhitespace(char ch)

根据Java确定指定的字符是否为空白.当且仅当它满足以下条件之一时,字符才是Java空白字符:

  • 它是一个Unicode空格字符(SPACE_SEPARATOR,LINE_SEPARATOR或PARAGRAPH_SEPARATOR),但也不是一个不间断的空格('\ u00A0','\ u2007','\ u202F').
  • 它是'\u0009',HORIZONTAL TABULATION.
  • 它是'\u000A'LINE FEED.
  • 它是'\u000B',垂直制表.
  • 它是'\u000C'FORM FEED.
  • 它是'\u000D',CARRIAGE RETURN.
  • 它是'\u001C',FILE SEPARATOR.
  • 它是'\u001D',GROUP SEPARATOR.
  • 它是'\u001E',RECORD SEPARATOR.
  • 它是'\u001F',UNIT SEPARATOR.


JB *_*zet 10

boolean containsWhitespace = false;
for (int i = 0; i < text.length() && !containsWhitespace; i++) {
    if (Character.isWhitespace(text.charAt(i)) {
        containsWhitespace = true;
    }
}
return containsWhitespace;
Run Code Online (Sandbox Code Playgroud)

或者,使用番石榴,

boolean containsWhitespace = CharMatcher.WHITESPACE.matchesAnyOf(text);
Run Code Online (Sandbox Code Playgroud)

  • 或者将它放在一个方法中以返回布尔值并避免使用笨拙的`break`和"accumulator"变量. (4认同)