Javascript xóa các ký tự không in được khỏi chuỗi

Để xóa tất cả các ký tự không in được trong một chuỗi trong PHP, bạn có thể sử dụng hàm preg_replace với mẫu biểu thức chính quy khớp với các ký tự không in được

Đây là một ví dụ về cách bạn có thể sử dụng preg_replace để xóa tất cả các ký tự không in được khỏi một chuỗi

Mẫu biểu thức chính quy /[\x00-\x1F\x80-\xFF]/ khớp với bất kỳ ký tự nào có giá trị mã ASCII trong khoảng từ 0 đến 31 [bao gồm] hoặc từ 128 đến 255 [bao gồm]. Đây là các giá trị mã ASCII cho các ký tự không in được

Hàm preg_replace thay thế tất cả các kết quả khớp của mẫu bằng một chuỗi trống, loại bỏ hiệu quả các ký tự không in được khỏi chuỗi

Hàm JavaScript để xóa các ký tự ASCII không in được. Sử dụng biểu thức chính quy để xóa các ký tự ASCII không in được

/**
 * Removes non-printable ASCII characters.
 *
 * @param {string} str
 * @return {string}
 */
const removeNonASCII = str => str.replace[/[^\x20-\x7E]/g, ""];

//
// Example Usage:
removeNonASCII["äÄçÇéÉêlorem-ipsumöÖÐþúÚ"]; // 'lorem-ipsum'

Nhìn nhanh vào bảng Unicode hoặc bảng ký tự ASCII chứng minh rằng không phải tất cả các ký tự đều dành cho con người chúng ta sử dụng. Một số trong số chúng là các ký tự điều khiển – những thứ cho máy tính biết phải làm gì. Hầu hết thời gian chúng không được chú ý, nhưng đôi khi chúng có thể gây ra vấn đề, đặc biệt nếu bạn không chắc chắn làm thế nào chúng vào được đó ngay từ đầu

Biểu thức chính quy đơn giản này có thể được sử dụng để loại bỏ các ký tự điều khiển phổ biến nhất [đối với các ngôn ngữ sử dụng bảng chữ cái Latinh]

thay thế[/[\u0000-\u0008,\u000A-\u001F,\u007F-\u00A0]+/g, ”];

Bạn có thể sử dụng bảng Unicode để tìm các mã ký tự để mở rộng nó nếu bạn cần hỗ trợ các bộ ký tự/bảng chữ cái khác [hay nói đúng hơn là loại trừ các ký tự khỏi các bộ đó]

Trong bài viết này, chúng ta được cung cấp một chuỗi chứa một số ký tự Không phải ASCII và nhiệm vụ là xóa tất cả các ký tự Không phải ASCII khỏi chuỗi đã cho. Có hai phương pháp để giải quyết vấn đề này được thảo luận dưới đây.  

Vì tất cả các ký tự có thể in của ASCII đều thuận tiện trong một phạm vi liên tục, nên chúng tôi đã sử dụng cách sau để lọc tất cả các ký tự khác ra khỏi chuỗi của chúng tôi trong JavaScript

printable_ASCII_only_string = input_string.replace[/[^ -~]+/g, ""];

Những gì đoạn mã trên làm là nó chuyển chuỗi đầu vào thông qua một biểu thức chính quy sẽ khớp với tất cả các ký tự ngoài phạm vi có thể in được và thay thế chúng bằng không có gì [do đó, hãy xóa chúng]
Trong trường hợp bạn không thích viết biểu thức chính quy của mình với ký tự khoảng trắng cho nó, bạn có thể viết lại biểu thức chính quy trên bằng cách sử dụng giá trị hex của hai ký tự như sau

printable_ASCII_only_string = input_string.replace[/[^\x20-\x7E]+/g, ""];

Chia sẻ cái này

  • Facebook
  • reddit
  • Twitter

Bài đăng này cũng có sẵn trong. Tiếng Hy Lạp

Làm cách nào để xóa các ký tự Unicode khỏi chuỗi trong JavaScript?

Chỉ định Unicode cho các ký tự cần xóa. Phạm vi ký tự giữa [0080 – FFFF] bị xóa. Sử dụng. phương thức replace[] để thay thế các ký tự không phải ASCII bằng chuỗi rỗng .

Những ký tự nào không in được?

Một số ký tự không in được phổ biến nhất là dấu xuống dòng, nạp biểu mẫu, nạp dòng, xóa lùi, thoát, tab ngang và tab dọc .

Nhân vật nào không

Tổng quan. Các ký tự không phải ASCII là những ký tự không được mã hóa bằng ASCII, chẳng hạn như Unicode, EBCDIC , v.v. ASCII được giới hạn ở 128 ký tự và ban đầu được phát triển cho ngôn ngữ tiếng Anh. Trong hướng dẫn này, chúng ta sẽ xem xét một số công cụ để tìm và đánh dấu các ký tự không phải ASCII trong tệp văn bản.

Làm cách nào để xóa chuỗi trong JavaScript?

Sử dụng Phương thức thay thế[] với Biểu thức chính quy . cú pháp. tên chuỗi. thay thế[/regularExpression/g, ''];

Chủ Đề