我需要检查一个字符串是否包含除空格以外的任何符号。我不能检查
String.length() > 0
或者
String.equals("")
因为空格被视为字符。如何确定 java 字符串是否包含其他字符(字母、符号、数字等)?
只是字符串(记得在对其调用方法之前trim()
检查):null
返回字符串的副本,省略前导和尾随空格。
myString != null && !myString.trim().isEmpty();
或者,如果您使用的是 Apache Commons,则可以使用StringUtils.isBlank()。你可以检查它的实现。
您可以使用
String.trim().equals("")
trim()
如果 String 仅包含空格,则在检查相等性之前将它们全部删除
为什么不使用String.trim()
并检查结果长度是否大于 0 ?
使用正则表达式,"[^ ]"
就可以了。
String test;
//populate test
if(test.trim().length() > 0)
{
//Bingo
}else{
//Uff
}
删除所有空格:
String s = ...;
s = s.replaceAll("\\s+", "");
然后检查长度:
if(s.length() > 0)
或检查字符串是否为空:
if (s.isEmpty())
使用正则表达式:
myString.matches("[^ ]+"); // all but spaces
使用谷歌番石榴:
CharMatcher.WHITESPACE.negate().matchesAnyOf(str)
修剪你的字符串,然后检查它是否有空字符串。
你可以尝试这样的事情,删除所有的空格字符,然后测量它的长度:
string.replaceAll("\\s","")
int length=string.length();
在这种情况下,如果长度大于零,它确实包含非空格字符。
希望这可以帮助 :)
您可以使用来自 apache commons 的 StringUtils: http: //commons.apache.org/lang/api-3.1/index.html