首頁 >Java >java教程 >如何有效地從 Java 字串中刪除多個空格、前導空格和尾隨空格?

如何有效地從 Java 字串中刪除多個空格、前導空格和尾隨空格?

Patricia Arquette
Patricia Arquette原創
2024-11-25 17:57:12761瀏覽

How to Efficiently Remove Multiple, Leading, and Trailing Spaces from Java Strings?

消除Java 字串中的多個空格和前導/尾隨空格

在Java 中,您可能會遇到包含多個連續空格和不必要的空格的字串開始或結束。為了解決這個問題,您需要尋找一種有效的方法,用一個空格替換所有多個空格,同時消除前導空格和尾隨空格。

使用trim()和replaceAll()的解決方案

建議的解決方案將trim()方法與replaceAll()方法結合:

String after = before.trim().replaceAll(" +", " ");

trim()刪除所有前導以及給定字串的尾隨空格。然後,replaceAll() 將所有出現的兩個或多個連續空格替換為單一空格。

沒有 trim()正規表示式解

雖然可讀性較差,但可以使用單一replaceAll()來實現相同的結果:

String pattern = "^ +| +$|( )+";
String after = before.replaceAll(pattern, "");

這個複雜的正規表示式有三個ternates:

  • ^ : 符合字串開頭的任一空格序列
  • $: 匹配字串末尾的任意空格序列
  • ( _) :匹配字串中間的任意空格序列

在所有情況下,它都會替換匹配的使用$1 進行序列,捕獲單個空格來代替多個空格,或在開頭或結尾處完全消除它們。

其他資源

  • String.trim (): https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#trim()
  • 重複正規表示式:https://regular-expressions.info/重複
  • 錨點正規表示式:https://regular-expressions.info/Anchors

以上是如何有效地從 Java 字串中刪除多個空格、前導空格和尾隨空格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn