我需要检查一个字符串是否包含空格以外的任何符号。我不能用
检查 String.length() > 0
或
String.equals("")
因为空格被视为字符。如何判断java String是否包含其他字符(字母,符号,数字等)?
答案 0 :(得分:6)
只需trim()
字符串(记得在调用方法之前检查null
):
返回字符串的副本,省略前导和尾随空格。
myString != null && !myString.trim().isEmpty();
或者,如果您正在使用Apache Commons,则可以使用StringUtils.isBlank()。您可以查看其implementation。
答案 1 :(得分:3)
您可以使用
String.trim().equals("")
如果String只包含空格,则在检查相等性之前,trim()
将删除所有空格
答案 2 :(得分:2)
Whyn不使用String.trim()
并检查结果长度是否大于0?
答案 3 :(得分:2)
使用正则表达式,"[^ ]"
会这样做。
答案 4 :(得分:2)
String test;
//populate test
if(test.trim().length() > 0)
{
//Bingo
}else{
//Uff
}
答案 5 :(得分:2)
删除所有空格:
String s = ...;
s = s.replaceAll("\\s+", "");
然后检查长度:
if(s.length() > 0)
或检查字符串是否为空:
if (s.isEmpty())
答案 6 :(得分:2)
使用正则表达式:
myString.matches("[^ ]+"); // all but spaces
答案 7 :(得分:2)
使用Google Guava:
CharMatcher.WHITESPACE.negate().matchesAnyOf(str)
答案 8 :(得分:1)
修剪你的字符串,然后检查它是否为空字符串。
答案 9 :(得分:1)
您可以尝试这样的操作,删除所有空格字符,然后测量其长度:
string.replaceAll("\\s","")
int length=string.length();
在这种情况下,如果length大于零,则它确实包含非空格字符。
希望这会有所帮助:)
答案 10 :(得分:1)
您可以使用apache commons中的StringUtils: http://commons.apache.org/lang/api-3.1/index.html