Regex Pattern để tìm khoảng trống

Sep 28 2020

Đây là một giá trị trường duy nhất và phải được phân chia dựa trên các dòng trống.

Eg:

abc street 
xyz 
city 785263 

lmn street 
abc 
city 462738 

Tôi đã thử AddressList = address.split ('\ n {2}') nhưng liều lượng không hoạt động.

Trả lời

3 sfdcfox Sep 28 2020 at 11:35

addresses.split('\n{2}')chỉ hoạt động nếu nó thực sự chỉ là dòng mới ( \n). Có ba kết nối dòng mới phổ biến, LF ( \n), CR ( \r) và CRLF ( \r\n).

Để tương thích với tất cả những thứ này, hãy thử:

addresses.split('(?m)\\s*^\\s*$\\s*')

Điều này có một số phần:

(?m) multiline mode enabled
\\s* zero or more whitespace
^ Beginning of a line (multiline mode)
$ End of a line (multiline mode)

Vì vậy: "Trong chế độ nhiều dòng, hãy tìm bất kỳ khoảng trắng nào theo sau bởi bất kỳ đầu dòng nào, với bất kỳ khoảng trắng nào, sau đó là cuối dòng, tiếp theo là bất kỳ khoảng trắng nào khác."

Hoặc, bạn có thể thay thế CRLF và Cr thành chỉ LF, sau đó mã gốc của bạn sẽ hoạt động:

addresses.replaceAll('(\\r\\n|\\r)','\n').split('\n{2}')