如何知道字符串变量是否只包含java中的空格?

时间:2014-09-24 12:49:51

标签: java string space

我有一个变量,它是一个字符串,我想用" null"替换字符串。如果变量只包含一个空格或多个空格。我该怎么办?

5 个答案:

答案 0 :(得分:5)

尝试以下方法:

 if(str.trim().isEmpty()){
         str = null;
 } 

答案 1 :(得分:1)

这是你可以做到的一种方式:

    String spaces = "   -- - -";
    if (spaces.matches("[ -]*")) {
        System.out.println("Only spaces and/or - or empty");
    }
    else {
        System.out.println("Not only spaces");
    }

答案 2 :(得分:1)

假设您的变量为String var

然后,

if(var.replace(" ", "").equals("")) {
    var = null;
}

答案 3 :(得分:0)

首先,你可以通过使用非常简单的正则表达式来实现它自己。

Java Regex定义将“/ s”定义为所有空白字符的模式。因此匹配“/ s +”的字符串为空或仅包含空格。

这是一个例子:

public boolean isEmpty(String value) {
  return value.matches("/s*");
}

但是,通过自己来做这件事并不是一个好主意。这是一种非常常见的模式,它已经在许多库中实现。 在我编写的几乎所有java应用程序中,我的最佳实践是使用apache commons lang库。其中包括StringUtils类。 此类中的所有方法都是nullsave,并密切关注所有可能的场景,例如空字符串。

所以使用apache commons是:

StringUtils.isBlank(value);

看看这里:http://commons.apache.org/proper/commons-lang/javadocs/api-3.3.2/index.html

答案 4 :(得分:0)

这个怎么样?

if(yourstring.replace(" ","").length()==0) {
    yourstring = null;
}

不需要正则表达式,所以应该比解决方案更有效率。