如何检查一个字符串是否包含空格字符、空白字符或 " "。如果可能,请提供一个Java示例。
例如:String = "test word";
boolean containsWhitespace = str.contains(" ");
如果要检查一个字符串是否包含空格,使用Matcher
并调用其find方法。
Pattern pattern = Pattern.compile("\\s");
Matcher matcher = pattern.matcher(s);
boolean found = matcher.find();
如果您想检查字符串是否仅由空格组成,那么可以使用String.matches
方法:
boolean isWhitespace = s.matches("^\\s*$");
检查一个字符串是否至少包含一个空格字符:
public static boolean containsWhiteSpace(final String testCode){
if(testCode != null){
for(int i = 0; i < testCode.length(); i++){
if(Character.isWhitespace(testCode.charAt(i))){
return true;
}
}
}
return false;
}
参考:
使用Guava库,这个问题变得更加简单:
return CharMatcher.WHITESPACE.matchesAnyOf(testCode);
CharMatcher.WHITESPACE
对于 Unicode 的支持也更加全面。
0xffff
定义了多少个新的空格字符... - Sean Patrick FloydCharacter.isWhitespace(testCode.charAt(i)) || Character.isSpaceChar(testCode.charAt(i))
代替。 - logbasex这将判断是否有任何空格:
可以通过循环实现:
for (char c : s.toCharArray()) {
if (Character.isWhitespace(c)) {
return true;
}
}
或者s.matches(".*\\s+.*")
StringUtils.isBlank(s)
会告诉你是否只有空格。
使用这段代码,对我来说是更好的解决方案。
public static boolean containsWhiteSpace(String line){
boolean space= false;
if(line != null){
for(int i = 0; i < line.length(); i++){
if(line.charAt(i) == ' '){
space= true;
}
}
}
return space;
}
public static void main(String[] args) {
System.out.println("test word".contains(" "));
}
public class Test {
public static void main(String args[]) {
String fav="Hi Testing 12 3";
int counter=0;
for( int i=0; i<fav.length(); i++ ) {
if(fav.charAt(i) == ' ' ) {
counter++;
}
}
System.out.println("Number of spaces "+ counter);
//This will print Number of spaces 4
}
}
String str = "Test Word";
if(str.indexOf(' ') != -1){
return true;
} else{
return false;
}
public static boolean containsWhiteSpace(final String input) {
if (isNotEmpty(input)) {
for (int i = 0; i < input.length(); i++) {
if (Character.isWhitespace(input.charAt(i)) || Character.isSpaceChar(input.charAt(i))) {
return true;
}
}
}
return false;
}
或者
public static boolean containsWhiteSpace(final String input) {
return CharMatcher.whitespace().matchesAnyOf(input);
}