检查 java 中包含 space 的字符串的排列
Checking for permutations of a space-containing string in java
我如何检查以确保字符串不包含 Java 中 space 字符的任何排列?
即,我想检查我的字符串是否等于 ""
、" "
、" "
等
我不想只检查我的字符串是否包含 space,因为如果我有一个字符串 "My code works"
,则不应对其进行解析。我只想检查仅包含 space 且不包含任何字母或其他字符的字符串。
这可以在单个 if 语句中完成吗?
将 String#matches()
与模式 \s*
结合使用。此模式将匹配空字符串或任意数量的连续空格。
String input = " ";
if (input.matches("\s*")) {
System.out.println("match");
}
这最适合我:
for (i = 0; i < string.length(); i++) {
string = string.get(i).replaceAll(" ", "");
}
if (string.equals("")) {
//do something
}
如果可能,您也可以使用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
另一种方式
if(input.trim().length() == 0) {
...
}
我如何检查以确保字符串不包含 Java 中 space 字符的任何排列?
即,我想检查我的字符串是否等于 ""
、" "
、" "
等
我不想只检查我的字符串是否包含 space,因为如果我有一个字符串 "My code works"
,则不应对其进行解析。我只想检查仅包含 space 且不包含任何字母或其他字符的字符串。
这可以在单个 if 语句中完成吗?
将 String#matches()
与模式 \s*
结合使用。此模式将匹配空字符串或任意数量的连续空格。
String input = " ";
if (input.matches("\s*")) {
System.out.println("match");
}
这最适合我:
for (i = 0; i < string.length(); i++) {
string = string.get(i).replaceAll(" ", "");
}
if (string.equals("")) {
//do something
}
如果可能,您也可以使用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
另一种方式
if(input.trim().length() == 0) {
...
}