我如何检查以确保字符串不包含Java中空格字符的任何排列?
即,我想检查我的字符串是否等于""
," "
," "
等。
我不想只检查我的字符串是否包含空格,因为如果我有一个字符串"My code works"
,则不应该解析它。我想只检查包含空格的字符串,而不检查任何字母或其他字符。
这可以在单个if语句中完成吗?
答案 0 :(得分:2)
将String#matches()
与模式\s*
一起使用。此模式将匹配空字符串或任意数量的连续空格。
String input = " ";
if (input.matches("\\s*")) {
System.out.println("match");
}
答案 1 :(得分:1)
如果可能,您还可以使用apache commons提供的StringUtils.isBlank(aString)。
Checks if a CharSequence is whitespace, empty ("") or null.
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false
答案 2 :(得分:1)
另一种方式
if(input.trim().length() == 0) {
...
}
答案 3 :(得分:0)
这对我来说效果最好:
for (i = 0; i < string.length(); i++) {
string = string.get(i).replaceAll(" ", "");
}
if (string.equals("")) {
//do something
}