2010-08-24 36 views
5

Tìm kiếm một số ma thuật đen sẽ khớp với bất kỳ chuỗi ký tự nào có ký tự "lạ" trong đó. Các ký tự ASCII chuẩn là tốt. Mọi thứ khác thì không..Net Regex phù hợp với chuỗi Với bất kỳ char không phải ASCII nào trong đó

Điều này nhằm vệ sinh các biểu mẫu web khác nhau.

+1

Nghiêm túc? U + 0001 BẮT ĐẦU HEADING hoặc U + 0007 BELL là tốt, nhưng tiếng Anh đơn giản thì không? Bạn có chắc chắn rằng ASCII là thứ bạn muốn khớp không? –

+0

Thôi nào, tại sao bạn ghét trên \ a. Thật tuyệt vời. Nhưng có, nghiêm túc. Thời gian qua tôi đã kiểm tra không ai trong số những người can thiệp với trang vẽ như char gương hoặc một số người khác. –

+1

é không gây rối với trang. Nếu rối tung với hiển thị trang là vấn đề, thì có thể sử dụng '\ p {C}'. 'new Regex (@" \ p {C} "). Thay thế (nghi ngờ, string.Empty)' sẽ xóa cả hai điều khiển ASCII và non-ASCII và định dạng, trong khi không làm hỏng văn bản bình thường một ngây thơ hơn (hoặc như bạn sẽ có nó, tiếp cận) sẽ mangle. Đặc biệt nếu bạn có tên hoặc người hoặc địa điểm xuất hiện ở bất cứ nơi nào (tên riêng là cả hai nơi mà các chữ cái không phải ASCII cắt nhiều bằng tiếng Anh và những nơi người dùng đặc biệt khó chịu nếu bạn xé chúng). –

Trả lời

6

này được bất cứ điều gì ra khỏi phạm vi ASCII

[^\x00-\x7F] 

Hiện vẫn còn một số nhân vật "kỳ lạ" như x00 (NULL), nhưng họ là ASCII hợp lệ.
Để tham khảo, xem ASCII table

+1

Trang "Bảng ASCII" đó là crap (tha thứ tiếng Pháp của tôi). Nó trình bày rằng biểu đồ thứ hai là "phổ biến nhất" của "bộ ASCII mở rộng" - đến một lần nữa? Đó là Cp850! Không ai sử dụng mục đích đó; nó chỉ xảy ra là mã hóa mặc định của dòng lệnh Windows. Ngoài ra, các bảng là hình ảnh, và chúng trông giống như địa ngục (tha thứ tiếng Ý của tôi) trên một màn hình LCD. Gửi chúng đến Wikipedia thay vào đó: http://en.wikipedia.org/wiki/ASCII –

2

[^\p{IsBasicLatin}] cho những gì được yêu cầu, [^\x00-\x7F] cho tính súc tích trên tự tài liệu, hoặc \p{C} cho thanh toán bù trừ ra định dạng và điều khiển mà không làm tổn thương không ASCIIs khác (và với tính súc tích lớn hơn chưa).

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