Trimmen einer Zeichenkette in Java

Rupam Yadav 12 Oktober 2023
  1. Trimmen einer Zeichenkette mit der Methode trim() in Java
  2. Trimmen einer Zeichenkette von links und rechts getrennt mit Character.isWhiteSpace und while
  3. Eine Zeichenkette von links und rechts getrennt trimmen mit Apache Commons
Trimmen einer Zeichenkette in Java

In diesem Artikel erfahren Sie, wie Sie eine Zeichenkette mit Leerzeichen am Anfangs- oder Endpunkt kürzen.

Trimmen einer Zeichenkette mit der Methode trim() in Java

Die empfohlene Methode zum Trimmen ist die Verwendung der Methode trim(), wenn wir führende und nachfolgende Leerzeichen von beiden Seiten einer Zeichenkette trimmen möchten. trim() entfernt die Leerzeichen und gibt einen String ohne die führenden abschließenden Leerzeichen zurück.

Unten nehmen wir eine Zeichenkette stringToTrim, die eine Zeichenkette mit Leerzeichen sowohl am Anfangs- als auch am Endpunkt hat. Um zu überprüfen, ob die Leerzeichen entfernt wurden, geben wir die Zeichenkette vor und nach dem Beschneiden aus. Die Pluszeichen (+) zeigen an, wo sich die Leerzeichen in der Zeichenkette befinden.

Beim Aufruf von stringToTrim.trim() stellen wir fest, dass die Leerzeichen entfernt wurden.

public class TrimString {
  public static void main(String[] args) {
    String stringToTrim = "   This is just an example  ";

    System.out.println("Before trimming +++" + stringToTrim + "+++");

    stringToTrim = stringToTrim.trim();
    System.out.println("After trimming +++" + stringToTrim + "+++");
  }
}

Ausgabe:

Before trimming +++   This is just an example  +++
After trimming +++This is just an example+++

Wir können eine Saite nur von einer einzigen Seite trimmen, egal ob von der linken oder rechten Seite. Hier sehen wir zwei Beispiele: eines, das von der linken Seite schneidet und ein anderes, das nur Leerzeichen von der rechten Seite entfernt.

Im folgenden Code nehmen wir einen String stringToTrim mit Leerzeichen an beiden Enden. Wir nehmen eine int-Variable i und initialisieren sie mit 0. Dann führen wir eine while-Schleife aus, die so lange läuft, bis die Variable i kleiner als die Länge von stringToTrim ist und prüfen auch mit Character auf Leerzeichen .isWhitespace() und innerhalb der Methode übergeben wir jedes Zeichen einzeln mit dem Wert i. Beide Bedingungen sollten erfüllt sein, und wenn sie zutreffen, erhöht sich der Wert von i um eins.

Jetzt rufen wir substring() auf, um die Whitespace-Zeichen zu trimmen. substring() beginnt auf der linken Seite des Strings, schneidet also die linke Seite des Strings ab und gibt den String ohne Leerzeichen auf der linken Seite zurück.

public class TrimString {
  public static void main(String[] args) {
    String stringToTrim = "   This is just an example  ";

    int i = 0;
    while (i < stringToTrim.length() && Character.isWhitespace(stringToTrim.charAt(i))) {
      i++;
    }
    String leftTrim = stringToTrim.substring(i);

    System.out.println("Before trimming +++" + stringToTrim + "+++");

    System.out.println("After trimming +++" + leftTrim + "+++");
  }
}

Ausgabe:

Before trimming +++   This is just an example  +++
After trimming +++This is just an example  +++

In diesem Beispiel nehmen wir den gleichen String, aber anstatt i mit 0 zu initialisieren, initialisieren wir ihn mit stringToTrim().length - 1 und prüfen dann in while, ob i grösser als oder ist gleich 0. Die Methode zum Überprüfen der Leerzeichen ist dieselbe. Wenn nun die Bedingungen erfüllt sind, verringern wir die Variable i um eins.

Da substring() auf der linken Seite des Strings beginnt, übergeben wir den Startpunkt als 0, und das zweite Argument ist der Wert, der vom rechten i+1 beginnt, der alle Leerzeichen vom rechten Ende entfernt.

public class TrimString {
  public static void main(String[] args) {
    String stringToTrim = "   This is just an example  ";

    int i = stringToTrim.length() - 1;
    while (i >= 0 && Character.isWhitespace(stringToTrim.charAt(i))) {
      i--;
    }
    String rightTrim = stringToTrim.substring(0, i + 1);

    System.out.println("Before trimming +++" + stringToTrim + "+++");

    System.out.println("After trimming +++" + rightTrim + "+++");
  }
}

Ausgabe:

Before trimming +++   This is just an example  +++
After trimming +++   This is just an example+++

Für dieses Beispiel verwenden wir eine Drittanbieterbibliothek namens Apache Commons. Um die Bibliothek in unser Projekt einzubinden, verwenden wir die folgende Abhängigkeit.

 <dependency>
  	<groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.11</version>
 </dependency>

Um den String stringToTrim von der linken Seite zu trimmen, verwenden wir StringUtils.stringStart() und übergeben den String an trimmen und das Zeichen an trimmen null, das als Leerzeichen behandelt wird. Wir verwenden StringUtils.stripEnd(), um von der rechten Seite zu trimmen und folgen dem gleichen Prozess.

import org.apache.commons.lang3.StringUtils;

public class TrimString {
  public static void main(String[] args) {
    String stringToTrim = "   This is just an example  ";

    String leftTrim = StringUtils.stripStart(stringToTrim, null);
    String rightTrim = StringUtils.stripEnd(stringToTrim, null);

    System.out.println("Before trimming +++" + stringToTrim + "+++");

    System.out.println("After left trimming +++" + leftTrim + "+++");

    System.out.println("After right trimming +++" + rightTrim + "+++");
  }
}

Ausgabe:

Before trimming +++   This is just an example  +++
After left trimming +++This is just an example  +++
After right trimming +++   This is just an example+++
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 String