Java中的空格有哪些种类?如果文本包含任何空格,我需要检查我的代码。
我的代码是:
if (text.contains(" ") || text.contains("\t") || text.contains("\r")
|| text.contains("\n"))
{
//code goes here
}
我已经知道\n
,\t
和。\r
space
Java中的空格有哪些种类?如果文本包含任何空格,我需要检查我的代码。
我的代码是:
if (text.contains(" ") || text.contains("\t") || text.contains("\r")
|| text.contains("\n"))
{
//code goes here
}
我已经知道\n
,\t
和。\r
space
对于非正则表达式方法,您可以检查Character.isWhitespace
每个字符。
boolean containsWhitespace(String s) {
for (int i = 0; i < s.length(); ++i) {
if (Character.isWhitespace(s.charAt(i)) {
return true;
}
}
return false;
}
Java中的空白是什么?
该文档指定了 Java 认为是空白的内容:
public static boolean isWhitespace(char ch)
根据 Java 确定指定字符是否为空格。一个字符是一个 Java 空白字符当且仅当它满足以下条件之一:
- 它是 Unicode 空格字符(SPACE_SEPARATOR、LINE_SEPARATOR 或 PARAGRAPH_SEPARATOR),但也不是不间断空格('\u00A0'、'\u2007'、'\u202F')。
- 它是
'\u0009'
,水平制表。- 它是
'\u000A'
,LINE FEED。- 它是
'\u000B'
,垂直制表。- 它是
'\u000C'
,FORM FEED。- 是
'\u000D'
,回车。- 它是
'\u001C'
,文件分隔符。- 它是
'\u001D'
,组分隔符。- 它是
'\u001E'
,记录分隔符。- 它是
'\u001F'
,单位分隔符。
boolean containsWhitespace = false;
for (int i = 0; i < text.length() && !containsWhitespace; i++) {
if (Character.isWhitespace(text.charAt(i)) {
containsWhitespace = true;
}
}
return containsWhitespace;
或者,使用番石榴,
boolean containsWhitespace = CharMatcher.WHITESPACE.matchesAnyOf(text);
If you want to consider a regular expression based way of doing it
if(text.split("\\s").length > 1){
//text contains whitespace
}
如果您可以在项目中使用 apache.commons.lang,最简单的方法就是使用那里提供的方法:
public static boolean containsWhitespace(CharSequence seq)
检查给定的 CharSequence 是否包含任何空白字符。
参数:
seq - the CharSequence to check (may be null)
回报:
true if the CharSequence is not empty and contains at least 1 whitespace character
它处理空参数和空参数,并在中心位置提供功能。
Why don't you check if text.trim() has a different length? :
if(text.length() == text.trim().length() || otherConditions){
//your code
}
boolean whitespaceSearchRegExp(String input) {
return java.util.regex.Pattern.compile("\\s").matcher(input).find();
}