Lưu ý: Đối với những người làm việc với văn bản CJK (Trung Quốc, Nhật Bản, và Hàn Quốc), không gian hai byte (Unicode \u3000
) là không trong \s
cho bất kỳ thực tôi đã cố gắng cho đến nay (Perl , .NET, PCRE, Python). Trước tiên, bạn cần chuẩn hóa chuỗi của mình (chẳng hạn như bằng cách thay thế tất cả \u3000
bằng \u0020
) hoặc bạn sẽ phải sử dụng bộ ký tự bao gồm điểm mã này ngoài bất kỳ khoảng trống nào khác mà bạn đang nhắm mục tiêu, chẳng hạn như [ \t\u3000]
.
Nếu bạn đang sử dụng Perl hoặc PCRE, bạn có tùy chọn sử dụng các \h
viết tắt cho khoảng trắng ngang, mà dường như bao gồm không gian byte đơn, không gian hai byte, và tab, trong số những người khác. Xem chủ đề Match whitespace but not newlines (Perl) để biết thêm chi tiết.
Tuy nhiên, viết tắt \h
này chưa được triển khai cho .NET và C#, tốt nhất tôi có thể nói.
Nguồn
2016-04-19 21:17:49
điểm trên cho vấn đề của tôi. Xem thêm http://stackoverflow.com/a/25956935/292060 cho một lớp ký tự '\ h' chỉ có perl, nhưng nó hiển thị có nhiều ký tự khoảng trắng khác, trong trường hợp bạn cần phải thêm chúng vào danh sách ở đây. – goodeye
tại sao phải có một dấu cách trước '\ t'? – Ooker
@Ooker Để chụp một không gian theo nghĩa đen – codemonkee