2011-12-24 40 views

Trả lời

30

Giả sử có một dòng mới vào cuối chuỗi mà bạn muốn loại bỏ, bạn có thể làm điều này:

s = s.substring(s.indexOf('\n')+1); 

Khi không có dòng mới, s sẽ giữ nguyên tương tự.

4

Về mặt kỹ thuật, bởi vì máy Mac (lên đến OS 9) được sử dụng để sử dụng \r và là giải pháp chấp nhận không giải quyết này, nó sẽ làm cho tinh thần để sử dụng:

s = s.substring(s.indexOf(System.getProperty("line.separator"))+1); 

Nhưng vì nó đã được đề cập trong ý kiến, khi sử dụng mã này, bạn phải chắc chắn rằng bạn không làm việc ví dụ trên các tệp mã nguồn có Unix kết thúc dòng trên Windows.

+3

Vì hai sơ đồ tách dòng duy nhất phổ biến là '\ n' và' \ r \ n', và '\ n' nghĩa đen cho cả hai, tôi nghĩ nó đáng tin cậy hơn' line.separator'. Hãy xem xét, ví dụ, khi làm việc với các tệp mã nguồn với kết thúc dòng unix trên Windows, cách tiếp cận này sẽ thất bại, trong khi ở trên sẽ thành công. Vì vậy, tìm kiếm '\ r \ n' trên Windows có nhiều khả năng tạo ra một lỗi nền tảng cụ thể hơn là ngăn chặn một lỗi, trong trường hợp này. –

Các vấn đề liên quan