web-dev-qa-db-ja.com

javaの空白

Javaの種類の空白とは何ですか?テキストに空白が含まれている場合、コードをチェックインする必要があります。

私のコードは:

if (text.contains(" ") || text.contains("\t") || text.contains("\r") 
       || text.contains("\n"))   
{  
   //code goes here
}   

私はすでに\n\t\rおよびspace

12
mkounal
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);
10
JB Nizet

非正規表現アプローチの場合、各文字について _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 whitespace characterであるのは、次の基準のいずれかを満たす場合のみです。

  • Unicodeスペース文字(SPACE_SEPARATOR、LINE_SEPARATOR、またはPARAGRAPH_SEPARATOR)ですが、改行しないスペース( '\ u00A0'、 '\ u2007'、 '\ u202F')でもありません。
  • それは_'\u0009'_、水平タブレーションです。
  • _'\u000A'_、LINE FEEDです。
  • それは_'\u000B'_、垂直集計です。
  • _'\u000C'_、フォームフィードです。
  • それは_'\u000D'_、キャリッジリターンです。
  • _'\u001C'_、FILE SEPARATORです。
  • それは_'\u001D'_、GROUP SEPARATORです。
  • それは_'\u001E'_、レコードセパレーターです。
  • _'\u001F'_、UNIT SEPARATORです。
18
Mark Byers
2

プロジェクトで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

空のパラメーターとnullパラメーターを処理し、中央の場所で機能を提供します。

2
Nicktar

正規表現ベースの方法を検討する場合

if(text.split("\\s").length > 1){
    //text contains whitespace
}
1
James
boolean whitespaceSearchRegExp(String input) {

    return Java.util.regex.Pattern.compile("\\s").matcher(input).find();

} 
0
doxmoxbox

Text.trim()の長さが異なるかどうかを確認してみませんか? :

if(text.length() == text.trim().length() || otherConditions){
    //your code
}

Sunから docs

\ s空白文字:[\ t\n\x0B\f\r]

最も簡単な方法は、正規表現で使用することです。

0
MByD