Rumah >Java >javaTutorial >Bagaimana untuk Memisahkan Rentetan Java dengan Watak Baris Baharu Dengan Betul Merentasi Sistem Operasi Berbeza?

Bagaimana untuk Memisahkan Rentetan Java dengan Watak Baris Baharu Dengan Betul Merentasi Sistem Operasi Berbeza?

Linda Hamilton
Linda Hamiltonasal
2024-12-21 14:48:11947semak imbas

How to Properly Split a Java String by Newline Characters Across Different Operating Systems?

Memisahkan Rentetan Java dengan Baris Baharu

Di Java, pemisahan Rentetan dengan pemisah baris boleh menjadi tugas biasa, terutamanya apabila berurusan dengan data berasaskan teks. Untuk mencapai ini, ungkapan biasa sering digunakan. Walau bagaimanapun, pengguna mungkin menghadapi masalah apabila menggunakan aksara "n" untuk membahagikan String.

Dalam coretan kod yang disediakan, kaedah kemas kini sisipan cuba untuk memisahkan String dalam JTextArea menggunakan regex "n". Walau bagaimanapun, ini tidak berfungsi. Mari kita terokai penyelesaian kepada isu ini.

Penyelesaian

Masalahnya terletak pada andaian bahawa "n" ialah satu-satunya aksara baris baharu yang digunakan dalam semua sistem pengendalian. Pada hakikatnya, terdapat dua aksara baris baharu biasa: "n" untuk sistem berasaskan UNIX dan "rn" untuk sistem berasaskan Windows. Oleh itu, kita perlu mengambil kira kedua-dua aksara baris baharu untuk memastikan pemisahan String yang tepat.

Ungkapan biasa berikut boleh digunakan untuk merangkumi kedua-dua jenis aksara baris baharu:

String lines[] = string.split("\r?\n");

Memahami Regex

  • "\r?" sepadan dengan aksara pemulangan kereta pilihan ("r").
  • "\n" sepadan dengan aksara baris baharu ("n").

The "?" selepas "r" menunjukkan bahawa ia adalah padanan pilihan. Ini bermakna regex kami akan sepadan sama ada "n" atau "rn", yang merangkumi kedua-dua aksara baris baharu UNIX dan Windows.

Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Rentetan Java dengan Watak Baris Baharu Dengan Betul Merentasi Sistem Operasi Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn