如何检查一个Javastring不是全部空格?

我想检查Javastring或字符数组不是由空白,使用Java?

这是一个非常类似的问题,除了Javascript:
我怎样才能检查string是否包含字符和空白,而不仅仅是空白?

编辑:我删除了关于字母数字字符的位,所以它更有意义。

我能想到的最短的解决scheme:

if (string.trim().length() > 0) ... 

这只会检查(非)空白。 如果你想检查特定的字符类,你需要使用强大的match()与正则expression式,如:

 if (string.matches(".*\\w.*")) ... 

…检查至less一个(ASCII)字母数字字符。

我会使用apache commons-lang库。 它有一个名为StringUtils的对象,可用于各种string操作。 为了检查一个string是不是全部空白,你可以使用下面的代码:

 StringUtils.isBlank(<your string>) 

这里是参考: StringUtils.isBlank

比Carl Smotricz提到的略短:

 !string.trim().isEmpty(); 
 if(target.matches("\\S")) // then string contains at least one non-whitespace character 

注意使用反斜杠cap-S,意思是“非空白字符”

我敢打赌,这是最简单的(也许是最快的)解决scheme。

这个答案更侧重于旁注“ 即至less有一个字母数字字符 ”。 除此之外,对于其他(较早的)解决scheme,它不会增加太多,只是在string为null情况下它不会伤害到NPE。

如果(1)s为null或者(2)s为空,或者(3)s只包含白色字符,我们需要false

 public static boolean containsNonWhitespaceChar(String s) { return !((s == null) || "".equals(s.trim())); } 

如果你只是检查空白,不关心null,那么你可以使用org.apache.commons.lang.StringUtils.isWhitespace(String str),

StringUtils.isWhitespace(String str);

(检查string是否只包含空格。)

如果你还想检查null(包括空白),那么

 StringUtils.isBlank(String str); 

修剪方法应该适合你。

http://download.oracle.com/docs/cd/E17476_01/javase/1.4.2/docs/api/java/lang/String.html#trim();

返回string的副本,省略前导和尾随空白。 如果这个String对象表示一个空字符序列,或者这个String对象表示的字符序列的第一个和最后一个字符的代码都大于'\ u0020'(空格字符),则返回对该String对象的引用。

否则,如果string中没有代码大于'\ u0020'的字符,则会创build并返回表示空string的新String对象。

否则,令k为代码大于'\ u0020'的string中第一个字符的索引,并且让m为代码大于'\ u0020'的string中最后一个字符的索引。 将创build一个新的String对象,表示该string的子string,该string以索引k处的字符开头,并以索引m处的字符结尾,即this.substring(k,m + 1)的结果。

这个方法可以用来修剪一个string的开始和结束的空白。 实际上,它也修剪所有的ASCII控制字符。

返回:删除了前导空白和尾部空白的此string的副本,如果它没有前导或尾随空白,则为空。

你可以修剪,然后比较一个空string或可能检查长度为0。

替代scheme:

 boolean isWhiteSpaces( String s ) { return s != null && s.matches("\\s+"); } 

trim()和其他提到的正则expression式不适用于所有types的空格

即:Unicode字符'LINE SEPARATOR'http: //www.fileformat.info/info/unicode/char/2028/index.htm

Java函数Character.isWhitespace()涵盖所有情况。

这就是为什么应该使用已经提到的解决schemeStringUtils.isWhitespace(String) /或StringUtils.isBlank(String)