Thêm một ký tự dòng mới vào một chuỗi trong Java

1. Khái quát chung

Định dạng chuỗi và tạo đầu ra văn bản thường xuất hiện trong quá trình lập trình. Trong nhiều trường hợp, cần phải thêm một dòng mới vào một chuỗi để định dạng đầu ra.

Hãy thảo luận về cách sử dụng các ký tự dòng mới.

2. Thêm các ký tự dòng mới trong một chuỗi

Hệ điều hành có các ký tự đặc biệt biểu thị sự bắt đầu của một dòng mới. Ví dụ: trong Linux, một dòng mới được ký hiệu là “ \ n” , còn được gọi là Nguồn cấp dòng . Trong Windows, một dòng mới được biểu thị bằng “ \ r \ n” , đôi khi được gọi là Chuyển hàngNguồn cấp hàng hoặc CRLF .

Thêm một dòng mới trong Java đơn giản như bao gồm “ \ n” , “ \ r” hoặc “ \ r \ n” vào cuối chuỗi của chúng tôi.

2.1. Sử dụng ngắt dòng CRLF

Đối với ví dụ này, chúng tôi muốn tạo một đoạn văn bằng hai dòng văn bản. Cụ thể, chúng tôi muốn line2 xuất hiện ở một dòng mới sau dòng1 .

Đối với hệ điều hành dựa trên Unix / Linux / Mac mới, chúng tôi có thể sử dụng “ \ n”:

String line1 = "Humpty Dumpty sat on a wall."; String line2 = "Humpty Dumpty had a great fall."; String rhyme = line1 + "\n" + line2;

Nếu chúng ta đang sử dụng HĐH dựa trên Windows, chúng ta có thể sử dụng “ \ r \ n”:

rhyme = line1 + "\r\n" + line2;

Đối với hệ điều hành cũ dựa trên Mac, chúng tôi có thể sử dụng “ \ r”:

rhyme = line1 + "\r" + line2;

Chúng tôi đã trình bày ba phương pháp thêm một dòng mới, nhưng thật không may, chúng phụ thuộc vào nền tảng.

2.2. Sử dụng bộ phân tách dòng độc lập nền tảng

Chúng tôi có thể sử dụng các hằng số do hệ thống xác định khi chúng tôi muốn mã của mình độc lập với nền tảng.

Ví dụ: sử dụng System.lineSeparator () để tạo dấu phân cách dòng:

rhyme = line1 + System.lineSeparator() + line2;

Hoặc chúng tôi cũng có thể sử dụng System.getProperty (“line.separator”) :

rhyme = line1 + System.getProperty("line.separator") + line2;

2.3. Sử dụng các ký tự dòng mới độc lập trên nền tảng

Mặc dù dấu phân cách dòng cung cấp sự độc lập của nền tảng, chúng buộc chúng ta phải nối các chuỗi của mình.

Nếu chúng ta đang sử dụng một cái gì đó như System.out.printf hoặc String.format , thì ký tự dòng mới độc lập với nền tảng, % n , có thể được sử dụng trực tiếp trong một chuỗi :

rhyme = "Humpty Dumpty sat on a wall.%nHumpty Dumpty had a great fall.";

Điều này cũng giống như bao gồm System.lineSeparator () trong chuỗi của chúng tôi, nhưng chúng tôi không cần phải chia chuỗi thành nhiều phần.

3. Thêm ký tự dòng mới trong trang HTML

Giả sử chúng ta đang tạo một chuỗi là một phần của trang HTML. Trong trường hợp đó, chúng tôi có thể thêm thẻ ngắt HTML

Chúng tôi cũng có thể sử dụng các ký tự Unicode “& # 13;” (Vận chuyển trở lại) và “& # 10;” (Nguồn cấp dòng). Mặc dù các ký tự này hoạt động nhưng chúng không hoạt động chính xác như chúng ta có thể mong đợi trên tất cả các nền tảng. Thay vào đó, tốt hơn là sử dụng

Ngoài ra, chúng ta có thể sử dụng “\ n” trong một số phần tử HTML để ngắt dòng.

Nhìn chung, đây là ba phương pháp ngắt dòng trong HTML. Chúng tôi có thể quyết định sử dụng cái nào tùy thuộc vào thẻ HTML mà chúng tôi đang sử dụng.

3.1. Thẻ ngắt HTML

Chúng tôi có thể sử dụng thẻ ngắt HTML

rhyme = line1 + "

" + line2;

Các

thẻ ngắt dòng hoạt động trong hầu hết các phần tử HTML như ,

,

, v.v. Tuy nhiên, lưu ý rằng nó không hoạt động trong nhãn.

3.2. Ký tự dòng mới

Chúng ta có thể sử dụng '\ n' để ngắt dòng nếu văn bản nằm trong

 hoặc là  nhãn:

rhyme = line1 + "\n" + line2;

3.3. Ký tự Unicode

Cuối cùng, chúng ta có thể sử dụng các ký tự Unicode “& # 13;” (Vận chuyển trở lại) và “& # 10;” (Nguồn cấp dòng) để ngắt dòng. Ví dụ, trong chúng ta có thể sử dụng một trong hai thẻ sau:

rhyme = line1 + " " + line2; rhyme = line1 + " " + line2; 

Cho

 , cả hai dòng bên dưới sẽ hoạt động:

rhyme = line1 + " " + line2; rhyme = line1 + " " + line2; 

4. Sự khác biệt giữa \ n\ r

\ r\ n là các ký tự được biểu thị bằng các giá trị ASCII tương ứng là 13 (CR) và 10 (LF). Cả hai đều đại diện cho sự ngắt quãng giữa hai dòng , nhưng hệ điều hành sử dụng chúng khác nhau.

On Windows, a sequence of two characters is used to start a new line, CR immediately followed by LF. Conversely, on Unix-like systems, only LF is used.

When writing Java applications, we must pay attention to the line break characters we use because the applications will behave differently depending on the operating system they will run on.

The safest and most cross-compatible option is to use System.lineSeparator(). This way, we won't have to take the operating system into account.

5. Conclusion

In this article, we discussed how to add newline characters to a string in Java.

We also saw how to write platform independent code for a new line using System.lineSeparator() and System.getProperty(“line.separator”).

Cuối cùng, chúng tôi đã kết thúc với cách thêm một dòng mới trong trường hợp chúng tôi đang tạo một trang HTML.

Bạn có thể tìm thấy toàn bộ việc triển khai bài viết này trên GitHub.