CodeGym /Java Blog /Toto sisi /Java String 修剪()方法
John Squirrels
等級 41
San Francisco

Java String 修剪()方法

在 Toto sisi 群組發布
即使這兩個字串對您來說看起來相同,但它們也可能不同。例如,它們可能具有前導空格和尾隨空格。電腦「看到」它,但我們看不到。Java 有一個特殊的trim()方法來刪除字串中尾隨和前導的空格。在本文中,我們將解釋如何在Java程式中 使用Java字串trim()方法並提供一些程式碼範例。

Java String Trim() 方法簽名

Java中trim()方法的簽章如下:
public String trim()
正如您所看到的,它不帶任何參數並傳回字串值。它會傳回原始字串的副本,但刪除了所有前導和尾隨空格。重要提示:空格是 ascii 代碼小於或等於“U + 0020”的任何字元。如果我們的String是一個空字元序列,或者此String物件表示的字元序列的第一個和最後一個字元具有非空白程式碼(如上面所定義),則傳回對此String物件的參考。好吧,如果字串中的所有字元都是空格,則傳回一個表示空字串的String物件。如果行的開頭和結尾沒有空格,則該方法將傳回該行本身不變。

Java String Trim() 方法範例

讓我們有兩個字串,在其文字的開頭和結尾處有和沒有一些空格。兩個字串的文字相同。
public class TrimDemo {
   public static void main(String[] args) {
//java string trim() method example

       String noSpacesString = "I am the Walrus";
       String withSpaceString = "    I am the Walrus ";

       //printing the both strings out to make sure they are different
       System.out.println(noSpacesString);
       System.out.println(withSpaceString);
       //let's print out two string comparisons. It's false
       //because they are different
       System.out.println(noSpacesString.equals(withSpaceString));
       //trim
       withSpaceString.trim();
       System.out.println(noSpacesString.equals(withSpaceString));
       System.out.println(noSpacesString);
       System.out.println(withSpaceString);
   }
}
輸出是:
我是海象 我是海象 假假 我是海象 我是海象
等等,什麼??看來Java字串trim()方法不起作用!前兩個字串是不同的,因為它們應該是不同的(第一個字串沒有邊距,第二個字串前面有三個空格,文字後面有一個空格)。然後我們比較這兩行並列印結果。這顯然是錯誤的,因為這些線是不同的。之後,我們對邊緣有空格的字串應用修剪方法,並再次比較字串……由於某種原因,我們再次得到錯誤,儘管現在它們應該是相同的!然後,為了以防萬一,我們決定自己列印這些行,如果奇蹟發生怎麼辦?唉…線條有所不同,但仍然存在。你已經猜到問題是什麼了嗎?重點是 Java 中的字串是不可變的物件。所以trim()方法回傳的不是原始字串,而是新字串。無論如何,我們應該在這裡測試trim()方法,所以讓我們寫另一個程式。在這裡,我們將命名要使用的trim()方法所建立的字串的副本。我們還檢查兩個字串是否相等。
public class TrimDemo2 {
   public static void main(String[] args) {
       String noSpacesString = "I am the Walrus";
       String withSpaceString = "    I am the Walrus ";
       String result = withSpaceString.trim();
       System.out.println(noSpacesString);
       System.out.println(result);
       System.out.println(noSpacesString.equals(result));
   }
}
這是輸出:
我是海象 我是海象 真的
答對了!現在它按照我們的預期工作了。請記住字串不變性,它對於每個 Java 開發人員都非常重要。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION