Regex Leerzeichen in Java
Ein regulärer Ausdruck oder Regex ist eine Kombination aus Sonderzeichen, die ein Suchmuster erstellt, mit dem nach bestimmten Zeichen in Strings gesucht werden kann. Im folgenden Beispiel werden wir sehen, wie wir verschiedene Regex-Zeichen verwenden können, um Leerzeichen in einem String zu finden.
Finden Leerzeichen mit regulären Ausdrücken in Java
Um das Regex-Suchmuster zu verwenden und zu sehen, ob der angegebene String mit dem Regex übereinstimmt, verwenden wir die statische Methode matches()
der Klasse Pattern
. Die Methode matches()
nimmt zwei Argumente entgegen: Das erste ist der reguläre Ausdruck und das zweite die Zeichenfolge, die wir abgleichen möchten.
Die häufigsten Regex-Zeichen zum Auffinden von Leerzeichen sind \s
und \s+
. Der Unterschied zwischen diesen Regex-Zeichen besteht darin, dass \s
ein einzelnes Leerzeichen darstellt, während \s+
mehrere Leerzeichen in einer Zeichenfolge darstellt.
Im folgenden Programm verwenden wir Pattern.matches()
, um mit der Regex \s+
und dann dem String mit drei Whitespaces nach den Whitespaces zu suchen. Dann drucken wir whitespaceMatcher1
, das true
ausgibt, was bedeutet, dass das Muster übereinstimmt und Leerzeichen findet.
In whitespaceMatcher2
verwenden wir das Zeichen \s
, um einzelne Leerzeichen zu identifizieren, die für die Zeichenfolge " "
wahr zurückgeben. Beachten Sie, dass bei regulären Ausdrücken zwischen Groß- und Kleinschreibung unterschieden wird und dass sich \S
von \s
unterscheidet.
Als nächstes verwenden wir die Regex [\\t\\p{Zs}]
, die äquivalent zu \s
ist und für ein einzelnes Leerzeichen wahr zurückgibt.
\u0020
ist ein Unicode-Zeichen, das Leerzeichen darstellt und true
zurückgibt, wenn eine Zeichenfolge mit einem einzelnen Leerzeichen übergeben wird.
Und die letzte Regex \p{Zs}
ist auch ein Whitespace-Trennzeichen, das Whitespace identifiziert.
import java.util.regex.Pattern;
public class RegWhiteSpace {
public static void main(String[] args) {
boolean whitespaceMatcher1 = Pattern.matches("\\s+", " ");
boolean whitespaceMatcher2 = Pattern.matches("\\s", " ");
boolean whitespaceMatcher3 = Pattern.matches("[\\t\\p{Zs}]", " ");
boolean whitespaceMatcher4 = Pattern.matches("\\u0020", " ");
boolean whitespaceMatcher5 = Pattern.matches("\\p{Zs}", " ");
System.out.println("\\s+ ----------> " + whitespaceMatcher1);
System.out.println("\\s -----------> " + whitespaceMatcher2);
System.out.println("[\\t\\p{Zs}] --> " + whitespaceMatcher3);
System.out.println("\\u0020 ------->" + whitespaceMatcher4);
System.out.println("\\p{Zs} ------->" + whitespaceMatcher5);
}
}
Ausgabe:
\s+ ----------> true
\s -----------> true
[\t\p{Zs}] --> true
\u0020 ------->true
\p{Zs} ------->true
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn