在 Java 中修剪字串

Rupam Yadav 2023年1月30日 2021年10月2日
  1. 使用 Java 中的 trim() 方法修剪字串
  2. 使用 Character.isWhiteSpacewhile 分別從左和右修剪字串
  3. 使用 Apache Commons 分別從左右修剪字串
在 Java 中修剪字串

在本文中,我們將看到如何修剪在起點或終點帶有空格的字串。

使用 Java 中的 trim() 方法修剪字串

如果我們想從兩側修剪字串的前導和尾隨空格,推薦的修剪方法是使用 trim() 方法。trim() 刪除空格並返回一個沒有前導空格的字串。

下面,我們取一個字串 stringToTrim,該字串的起點和終點都帶有空格。為了檢查空格是否被消除,我們在修剪前後列印字串。加號 (+) 表示空格在字串中的位置。

當我們呼叫 stringToTrim.trim() 時,我們注意到空格被刪除了。

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 + "+++");
    }
}

輸出:

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

使用 Character.isWhiteSpacewhile 分別從左和右修剪字串

我們可以只從一側修剪字串,無論是從左側還是右側。在這裡,我們看到兩個示例:一個從左側修剪,另一個僅從右側刪除空格。

在下面的程式碼中,我們採用兩端帶有空格的字串 stringToTrim。我們取一個 int 變數 i 並用 0 初始化它。然後我們執行一個 while 迴圈,該迴圈一直執行直到 i 變數小於 stringToTrim 的長度,並且還使用 Character 檢查空白字元.isWhitespace() 並且在方法內部,我們使用 i 值一個一個地傳遞每個字元。這兩個條件都應該滿足,如果它們為真,則 i 的值增加 1。

現在我們呼叫 substring() 來修剪空白字元。substring() 從字串的左側開始,因此它修剪字串的左側並返回左側沒有空格的字串。

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 + "+++");
    }
}

輸出:

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

在這個例子中,我們採用相同的字串,但不是用 0 初始化 i,而是用 stringToTrim().length - 1 初始化它,然後在 while 中,我們檢查 i 是否大於或等於 0。檢查空格的方法是一樣的。現在,當條件滿足時,我們將 i 變數減一。

由於 substring() 從字串的左側開始,我們將起點作為 0 傳遞,第二個引數是從右側 i+1 開始的值,它消除了右端的所有空格。

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 + "+++");
    }
}

輸出:

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

使用 Apache Commons 分別從左右修剪字串

對於本示例,我們使用名為 Apache Commons 的第三方庫。要將庫包含在我們的專案中,我們使用以下依賴項。

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

要從左側修剪字串 stringToTrim,我們使用 StringUtils.stringStart() 並將字串傳遞給修剪,並將字元傳遞給被視為空白的 null。我們使用 StringUtils.stripEnd() 從右側修剪並遵循相同的過程。

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 + "+++");
    }
}

輸出:

Before trimming +++   This is just an example  +++
After left trimming +++This is just an example  +++
After right trimming +++   This is just an example+++
Author: Rupam Yadav
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

相關文章 - Java String