Java를 사용하여 Java String 또는 문자 배열이 공백으로 구성된 것이 아닌지 확인하고 싶습니까?
이것은 자바 스크립트를 제외하고는 매우 비슷한 질문입니다.
문자열에 공백뿐만 아니라 문자 및 공백이 포함되어 있는지 어떻게 확인할 수 있습니까?
편집 : 영숫자 문자에 대한 비트를 제거 했으므로 더 의미가 있습니다.
답변
내가 생각할 수있는 가장 짧은 해결책 :
if (string.trim().length() > 0) ...
공백 만 검사합니다. 특정 문자 클래스를 확인하려면 다음 match()
과 같은 정규 표현식 을 사용하십시오 .
if (string.matches(".*\\w.*")) ...
… 적어도 하나 이상의 (ASCII) 영숫자를 확인합니다.
답변
Apache Commons Lang 라이브러리를 사용합니다. 여기에는 모든 종류의 문자열 작업에 유용한 StringUtils라는 클래스가 있습니다. 문자열이 모든 공백이 아닌지 확인하려면 다음을 사용할 수 있습니다.
StringUtils.isBlank(<your string>)
참조는 다음과 같습니다. StringUtils.isBlank
답변
Carl Smotricz가 언급 한 것보다 약간 짧음 :
!string.trim().isEmpty();
답변
StringUtils.isBlank(CharSequence)
답변
Java 11을 사용하는 경우 새 isBlank
문자열 메소드가 유용합니다.
!s.isBlank();
당신이 사용하는 경우 자바 8, 9 또는 10을 , 당신은 문자열이 공백뿐만 아니라 있는지 확인하는 간단한 스트림을 만들 수있다 :
!s.chars().allMatch(Character::isWhitespace));
Apache Commons Lang과 같은 타사 라이브러리가 필요하지 않은 것 외에도 이러한 솔루션은 다른 많은 답변에서 제안 된 기반 솔루션 ' '
과 같이 일반 공백 뿐만 아니라 공백 문자를 처리 할 수 있다는 이점이 trim
있습니다. 지원되는 모든 공백 유형의 전체 목록은 Javadoc 을 참조하십시오 . 빈 문자열도 두 경우 모두 적용됩니다.
답변
if(target.matches("\\S"))
// then string contains at least one non-whitespace character
“비 공백 문자”를 의미하는 백 슬래시 cap-S 사용 참고
가장 간단한 솔루션 일 것입니다.
답변
이 답변 은 ” 즉, 적어도 하나의 영숫자 문자가 있습니다 “라는 주석에 더 중점을 둡니다 . 그 외에도 String이 인 경우 NPE로 당신을 해치지 않는 것을 제외하고는 다른 (이전) 솔루션에 너무 많이 추가되지 않습니다 null
.
우리는 원하는 false
(1) 일이야 경우 null
또는 (2)의이 비어 있거나 (3) 만 whitechars를 포함이야.
public static boolean containsNonWhitespaceChar(String s) {
return !((s == null) || "".equals(s.trim()));
}