16

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

私のコードは次のとおりです。

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

、、、について\nはすでに知っています。\t\rspace

4

8 に答える 8

20

非正規表現アプローチの場合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'、HORIZONTALTABULATIONです。
  • '\u000A'、LINEFEEDです。
  • '\u000B'、VERTICALTABULATIONです。
  • '\u000C'、FORMFEEDです。
  • '\u000D'、キャリッジリターンです。
  • '\u001C'、FILESEPARATORです。
  • '\u001D'、GROUPSEPARATORです。
  • '\u001E'、RECORDSEPARATORです。
  • '\u001F'、UNITSEPARATORです。
于 2012-08-08T11:28:16.887 に答える
12
boolean containsWhitespace = false;
for (int i = 0; i < text.length() && !containsWhitespace; i++) {
    if (Character.isWhitespace(text.charAt(i)) {
        containsWhitespace = true;
    }
}
return containsWhitespace;

または、Guavaを使用して、

boolean containsWhitespace = CharMatcher.WHITESPACE.matchesAnyOf(text);
于 2012-08-08T11:30:54.003 に答える
3

正規表現ベースの方法を検討したい場合

if(text.split("\\s").length > 1){
    //text contains whitespace
}
于 2012-08-08T11:40:32.060 に答える
2

独自に作成するのではなく、Character.isWhitespace()を使用します。

Javaでは、文字列を文字に、または文字を文字列に変換するにはどうすればよいですか?

于 2012-08-08T11:30:18.493 に答える
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パラメータを処理し、中央の場所で機能を提供します。

于 2016-08-01T10:17:38.247 に答える
0

太陽のドキュメントから:

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

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

于 2012-08-08T11:28:07.937 に答える
0
boolean whitespaceSearchRegExp(String input) {

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

} 
于 2015-07-12T10:33:48.293 に答える
0

text.trim()の長さが違うかどうか確認してみませんか?:

if(text.length() == text.trim().length() || otherConditions){
    //your code
}
于 2016-12-01T10:06:52.767 に答える