1

文字列にスペース以外の記号が含まれているかどうかを確認する必要があります。私はチェックできません

      String.length() > 0

また

      String.equals("") 

スペースは文字と見なされるためです。Java String に他の文字 (文字、記号、数字など) が含まれているかどうかを確認するにはどうすればよいですか?

4

11 に答える 11

6

文字列のみ (メソッドを呼び出す前trim()に確認することを忘れないでください):null

先頭と末尾の空白を省略して、文字列のコピーを返します。

 myString != null && !myString.trim().isEmpty();

または、Apache Commons を使用している場合は、StringUtils.isBlank()を使用できます。その実装を確認できます。

于 2013-01-31T12:01:55.640 に答える
3

使用できます

String.trim().equals("")

trim()文字列にスペースのみが含まれている場合、等しいかどうかを確認する前にすべてが削除されます

于 2013-01-31T12:04:40.767 に答える
2
String test;
//populate test

if(test.trim().length() > 0)
{
//Bingo
}else{
//Uff
}
于 2013-01-31T12:02:09.527 に答える
2

Google グアバの使用:

CharMatcher.WHITESPACE.negate().matchesAnyOf(str)
于 2013-01-31T12:47:19.387 に答える
2

String.trim()結果の長さが 0 より大きいかどうかを使用して確認してみませんか?

于 2013-01-31T12:01:34.540 に答える
2

正規表現を使用してください"[^ ]"

于 2013-01-31T12:01:41.093 に答える
2

すべてのスペースを削除します:

String s = ...;
s = s.replaceAll("\\s+", "");

次に、長さを確認します。

if(s.length() > 0)

または、文字列が空かどうかを確認します。

if (s.isEmpty())
于 2013-01-31T12:04:06.350 に答える
2

正規表現の場合:

myString.matches("[^ ]+"); // all but spaces

于 2013-01-31T12:04:19.237 に答える
1

Apache Commons から StringUtils を使用できます: http://commons.apache.org/lang/api-3.1/index.html

于 2013-01-31T12:27:44.803 に答える
1

文字列をトリミングしてから、空の文字列をチェックします。

于 2013-01-31T12:01:35.843 に答える
1

すべてのスペース文字を削除してから、その長さを測定するために、次のようなことを試すことができます。

                string.replaceAll("\\s","")
                int length=string.length();

この場合、長さがゼロより大きい場合、スペース以外の文字が含まれています。

お役に立てれば :)

于 2013-01-31T12:05:17.910 に答える