Regex Leerzeichen in Java

Rupam Yadav 12 Oktober 2023
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 Yadav avatar Rupam Yadav avatar

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

Verwandter Artikel - Java Regex

Verwandter Artikel - Java Regex