HOWTO · Java

如何在 Java 中從檔案中刪除換行符

本教程介紹瞭如何使用多種方法(例如 replace,換行符,replaceAll)從 Java 中的檔案中刪除換行符。

本頁內容

本教程提到了多種方法來替換 Java 中任何檔案中的換行符。根據要求,我們將使用指定的 Java 方法產生不同的結果。我們在這裡使用字串 String 而不是檔案來演示這些方法。如果要與檔案文字一起使用,則將 String 值替換為檔案內容。

replace() 方法從 Java 中的檔案中刪除換行符

使用的第一個方法是 replace() 用於換行符刪除。它的使用條件是使用者可以通過要刪除的檔案的所有換行符。使用 replace() 方法。

示例程式碼:

// java 1.8
package simpletesting;
public class SimpleTesting {
  public static void main(String[] args) {
    String text = "abcdefghij\n"
        + "klmnopq\nzzzz";
    System.out.println("**********Orignal Text**********");
    System.out.println(text);
    text = text.replace("\n", "");
    System.out.println("*******************************");
    System.out.println("**********Modified Text********");
    System.out.println(text);
  }
}

輸出:

**********Orignal Text**********
abcdefghij
klmnopq
zzzz
*******************************
**********Modified Text********
abcdefghijklmnopqzzzz

用於預設平臺的 line.separator 方法從 Java 檔案中刪除換行符

另一種方法是在 Java 的 replace() 方法內使用 System.getProperty("line.separator")。此方法將處理所有行分隔符(來自 Java 屬性),並簡單地將其刪除。

示例程式碼:

// java 1.8
package simpletesting;
public class SimpleTesting {
  public static void main(String[] args) {
    String text = "abcdefghij\n"
        + "klmnopq\nzzzz";
    System.out.println("**********Orignal Text**********");
    System.out.println(text);
    text = text.replace(System.getProperty("line.separator").toString(), "");
    System.out.println("*******************************");
    System.out.println("**********Modified Text********");
    System.out.println(text);
  }
}

輸出:

**********Orignal Text**********
abcdefghij
klmnopq
zzzz
*******************************
**********Modified Text********
abcdefghijklmnopqzzzz

所有平臺的 replaceAll() 方法從 Java 中的檔案中刪除換行符

與上一個相似的另一種方法是使用 Java 的 replaceAll() 方法。此方法將處理任何平臺中使用的所有行分隔符,然後將其刪除。如果要求在所有平臺(例如 UNIX,MAC OS,Windows 等)上均可使用,則使用此方法。

示例程式碼:

// java 1.8
package simpletesting;
public class SimpleTesting {
  public static void main(String[] args) {
    String text = "abcdefghij\n"
        + "klmnopq\nzzzz";
    System.out.println("**********Orignal Text**********");
    System.out.println(text);
    text = text.replaceAll("\\R", "");
    System.out.println("*******************************");
    System.out.println("**********Modified Text********");
    System.out.println(text);
  }
}

輸出:

**********Orignal Text**********
abcdefghij
klmnopq
zzzz
*******************************
**********Modified Text********
abcdefghijklmnopqzzzz