1

我需要检查一个字符串是否包含除空格以外的任何符号。我不能检查

      String.length() > 0

或者

      String.equals("") 

因为空格被视为字符。如何确定 java 字符串是否包含其他字符(字母、符号、数字等)?

4

11 回答 11

6

只是字符串(记得在对其调用方法之前trim()检查):null

返回字符串的副本,省略前导和尾随空格。

 myString != null && !myString.trim().isEmpty();

或者,如果您使用的是 Apache Commons,则可以使用StringUtils.isBlank()。你可以检查它的实现

于 2013-01-31T12:01:55.640 回答
3

您可以使用

String.trim().equals("")

trim()如果 String 仅包含空格,则在检查相等性之前将它们全部删除

于 2013-01-31T12:04:40.767 回答
2

为什么不使用String.trim()并检查结果长度是否大于 0 ?

于 2013-01-31T12:01:34.540 回答
2

使用正则表达式,"[^ ]"就可以了。

于 2013-01-31T12:01:41.093 回答
2
String test;
//populate test

if(test.trim().length() > 0)
{
//Bingo
}else{
//Uff
}
于 2013-01-31T12:02:09.527 回答
2

删除所有空格:

String s = ...;
s = s.replaceAll("\\s+", "");

然后检查长度:

if(s.length() > 0)

或检查字符串是否为空:

if (s.isEmpty())
于 2013-01-31T12:04:06.350 回答
2

使用正则表达式:

myString.matches("[^ ]+"); // all but spaces

于 2013-01-31T12:04:19.237 回答
2

使用谷歌番石榴:

CharMatcher.WHITESPACE.negate().matchesAnyOf(str)
于 2013-01-31T12:47:19.387 回答
1

修剪你的字符串,然后检查它是否有空字符串。

于 2013-01-31T12:01:35.843 回答
1

你可以尝试这样的事情,删除所有的空格字符,然后测量它的长度:

                string.replaceAll("\\s","")
                int length=string.length();

在这种情况下,如果长度大于零,它确实包含非空格字符。

希望这可以帮助 :)

于 2013-01-31T12:05:17.910 回答
1

您可以使用来自 apache commons 的 StringUtils: http: //commons.apache.org/lang/api-3.1/index.html

于 2013-01-31T12:27:44.803 回答