Wie kann ich überprüfen, ob ein String ein Leerzeichen, ein Leerzeichen oder "" enthält. Wenn möglich, geben Sie bitte ein Java-Beispiel an.Wie kann ich Leerzeichen in einem String finden?
Zum Beispiel: String = "test word";
Wie kann ich überprüfen, ob ein String ein Leerzeichen, ein Leerzeichen oder "" enthält. Wenn möglich, geben Sie bitte ein Java-Beispiel an.Wie kann ich Leerzeichen in einem String finden?
Zum Beispiel: String = "test word";
Um zu überprüfen, ob eine Zeichenfolge Whitespace enthält, verwenden Sie eine Matcher
und rufen Sie es ist Find-Methode.
Pattern pattern = Pattern.compile("\\s");
Matcher matcher = pattern.matcher(s);
boolean found = matcher.find();
Wenn Sie überprüfen wollen, ob es besteht nur aus Leerzeichen dann können Sie verwenden String.matches
:
boolean isWhitespace = s.matches("^\\s*$");
Enthält leere Zeichenfolge Whitespace? Bool sollte Boolean sein, denke ich. – Joni
\\ s ist, was ich gesucht habe, danke – Vivekanand
Sie Regex verwenden könnten, um zu bestimmen, ob es ein Leerzeichen ist. \s
.
Weitere Informationen über Regex here.
Sie könnten diese Antwort verbessern, indem Sie den Java-Code angeben, der diese Regex verwendet. –
public static void main(String[] args) {
System.out.println("test word".contains(" "));
}
Diese Antwort überprüft nicht für alle Leerzeichen. –
Dies wird sagen, wenn Sie es irgendwelche Whitespaces:
Entweder durch Schleifen:
for (char c : s.toCharArray()) {
if (Character.isWhitespace(c)) {
return true;
}
}
oder
s.matches(".*\\s+.*")
Und StringUtils.isBlank(s)
wird Ihnen sagen, wenn es nur whitepsaces.
Schöne umfassende Antwort (+1), aber die Schleife Variante kann getan werden, ohne ein neues Char-Array erstellen (siehe meine Antwort) –
@seanizer wahr. +1 für dich. dafür :) – Bozho
prüfen, ob ein String enthält mindestens ein Leerraumzeichen:
public static boolean containsWhiteSpace(final String testCode){
if(testCode != null){
for(int i = 0; i < testCode.length(); i++){
if(Character.isWhitespace(testCode.charAt(i))){
return true;
}
}
}
return false;
}
Referenz:
Mit der Guava Bibliothek, es ist viel einfacher:
return CharMatcher.WHITESPACE.matchesAnyOf(testCode);
CharMatcher.WHITESPACE
ist auch viel gründlicher, wenn es um die Unicode-Unterstützung.
Ich denke, dieser Code ist nicht vollständig Unicode bewusst, weil: 'Diese Methode kann nicht mit zusätzlichen Zeichen umgehen. Um alle Unicode-Zeichen, einschließlich Zusatzzeichen, zu unterstützen, verwenden Sie die Methode isWhitespace (int). –
True, aber ich frage mich, wie viele neue Leerzeichen in Unicode-Bereichen jenseits '0xffff' definiert sind ... –
Ich habe absolut keine Ahnung, Ich habe es nur der Vollständigkeit halber erwähnt. –
Verwenden Sie diesen Code, war bessere Lösung für meine, wenn Sie vier Leerzeichen haben und ist ein Export für eine TXT-Datei.
public static boolean containsWhiteSpace(String line){
boolean space= false;
if(line != null){
for(int i = 0; i < line.length(); i++){
if(line.charAt(i) == ' '){
space= true;
}
}
}
return space;
}
Verwendung Apache Commons StringUtils:
StringUtils.containsWhitespace(str)
package com.test;
public class Test {
public static void main(String[] args) {
String str = "TestCode ";
if (str.indexOf(" ") > -1) {
System.out.println("Yes");
} else {
System.out.println("Noo");
}
}
}
Bitte erklären Sie, warum Sie das getan haben und warum dies die Lösung ist. Kommentiere deinen Code! – ReneS
Es gibt viele Leerzeichen, die dieser Code nicht findet. –
import java.util.Scanner;
public class camelCase {
public static void main(String[] args)
{
Scanner user_input=new Scanner(System.in);
String Line1;
Line1 = user_input.nextLine();
int j=1;
//Now Read each word from the Line and convert it to Camel Case
String result = "", result1 = "";
for (int i = 0; i < Line1.length(); i++) {
String next = Line1.substring(i, i + 1);
System.out.println(next + " i Value:" + i + " j Value:" + j);
if (i == 0 | j == 1)
{
result += next.toUpperCase();
} else {
result += next.toLowerCase();
}
if (Character.isWhitespace(Line1.charAt(i)) == true)
{
j=1;
}
else
{
j=0;
}
}
System.out.println(result);
Verwendung org.apache.commons.lang.StringUtils.
boolean withWhiteSpace = StringUtils.contains suchen ("mein Name", "„);
StringUtils.deleteWhitespace (null) zu löschen = null StringUtils.deleteWhitespace ("") = "" StringUtils.deleteWhitespace ("ABC") = "abc" StringUtils.deleteWhitespace ("ab c") = "abc"
String str = "Test Word";
if(str.indexOf(' ') != -1){
return true;
} else{
return false;
}
Um klar zu sein, fügen Sie ein Beispiel in Ihrem Code wie ein Kommentar hinzu. – pirs
ich Zweck Ihnen eine sehr einfache Methode, die String.contains
verwenden:
public static boolean containWhitespace(String value) {
return value.contains(" ");
}
Ein kleines Anwendungsbeispiel:
public static void main(String[] args) {
System.out.println(containWhitespace("i love potatoes"));
System.out.println(containWhitespace("butihatewhitespaces"));
}
Ausgang:
true
false
Sie können diese im Grunde tun
if(s.charAt(i)==32){
return true;
}
Sie müssen eine boolesche Methode schreiben. Whitespace char ist 32.
Was ist "leerer Speicherplatz"? Ist es ""? –
@Dominic - es ist was du bekommst, wenn du einen "vollen Raum" leer machst. Duh !!! –