如何检查字符串是否包含空格字符,空格或“”。如果可能,请提供Java示例。
例如:String = "test word";
答案 0 :(得分:81)
要检查字符串是否包含空格,请使用Matcher
并调用它的find方法。
Pattern pattern = Pattern.compile("\\s");
Matcher matcher = pattern.matcher(s);
boolean found = matcher.find();
如果您想检查是否只包含空格,那么您可以使用String.matches
:
boolean isWhitespace = s.matches("^\\s*$");
答案 1 :(得分:22)
检查字符串是否包含至少一个空格字符:
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支持方面也更加全面。
答案 2 :(得分:19)
这将告诉您是否有任何空格:
通过循环:
for (char c : s.toCharArray()) {
if (Character.isWhitespace(c)) {
return true;
}
}
或
s.matches(".*\\s+.*")
StringUtils.isBlank(s)
会告诉您是否只有 whitepsaces。
答案 3 :(得分:8)
使用Apache Commons StringUtils:
StringUtils.containsWhitespace(str)
答案 4 :(得分:3)
使用此代码,对我来说是更好的解决方案。
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;
}
答案 5 :(得分:2)
您可以使用正则表达式来确定是否存在空格字符。 \s
。
正则表达式here的更多信息。
答案 6 :(得分:2)
public static void main(String[] args) {
System.out.println("test word".contains(" "));
}
答案 7 :(得分:0)
import java.util.Scanner;
public class camelCase {
public static void main(String[] args)
{
Scanner user_input=new Scanner(System.in);
String Line1;
Line1 = user_input.nextLine();
int j=1;
//Now Read each word from the Line and convert it to Camel Case
String result = "", result1 = "";
for (int i = 0; i < Line1.length(); i++) {
String next = Line1.substring(i, i + 1);
System.out.println(next + " i Value:" + i + " j Value:" + j);
if (i == 0 | j == 1 )
{
result += next.toUpperCase();
} else {
result += next.toLowerCase();
}
if (Character.isWhitespace(Line1.charAt(i)) == true)
{
j=1;
}
else
{
j=0;
}
}
System.out.println(result);
答案 8 :(得分:0)
使用org.apache.commons.lang.StringUtils。
boolean withWhiteSpace = StringUtils.contains(&#34;我的名字&#34;,&#34;&#34;);
StringUtils.deleteWhitespace(null)= null StringUtils.deleteWhitespace(&#34;&#34;)=&#34;&#34; StringUtils.deleteWhitespace(&#34; abc&#34;)=&#34; abc&#34; StringUtils.deleteWhitespace(&#34; ab c&#34;)=&#34; abc&#34;
答案 9 :(得分:0)
String str = "Test Word";
if(str.indexOf(' ') != -1){
return true;
} else{
return false;
}
答案 10 :(得分:0)
我的目的是向您提供一个使用String.contains
的简单方法:
public static boolean containWhitespace(String value) {
return value.contains(" ");
}
一个小用法示例:
public static void main(String[] args) {
System.out.println(containWhitespace("i love potatoes"));
System.out.println(containWhitespace("butihatewhitespaces"));
}
输出:
true
false
答案 11 :(得分:0)
你基本上可以这样做
if(s.charAt(i)==32){
return true;
}
你必须编写boolean方法.Whitespace char是32。
答案 12 :(得分:0)
您可以使用chatAt()函数查找字符串中的空格。
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
}
}
答案 13 :(得分:0)
也许我迟到了最新的答案。您可以使用以下解决方案之一:
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);
}
答案 14 :(得分:-1)
package com.test;
public class Test {
public static void main(String[] args) {
String str = "TestCode ";
if (str.indexOf(" ") > -1) {
System.out.println("Yes");
} else {
System.out.println("Noo");
}
}
}