Loại bỏ dấu ngoặc kép khỏi chuỗi

JavaScript:
Loại bỏ dấu ngoặc kép khỏi chuỗi

Cách thức:

Hãy tưởng tượng bạn có một chuỗi được bao bởi dấu ngoặc kép, như "\"Hello, World!\"" và bạn muốn văn bản nguyên bản, không dấu ngoặc. Dưới đây là một đoạn mã JavaScript nhanh để giải phóng chuỗi của bạn khỏi những “xiềng xích” dấu ngoặc đó:

let quotedString = "\"Hello, World!\"";
let unquotedString = quotedString.replace(/^"|"$/g, '');
console.log(unquotedString); // Kết quả: Hello, World!

Và nếu bạn đang xử lý dấu ngoặc đơn? Chỉ cần điều chỉnh biểu thức chính quy một chút:

let singleQuotedString = "'Hello, World!'";
let unquotedString = singleQuotedString.replace(/^'|'$/g, '');
console.log(unquotedString); // Kết quả: Hello, World!

Hoặc nếu chuỗi của bạn là sự kết hợp của cả hai? Không vấn đề:

let mixedQuotedString = "\"'Hello, World!'\"";
let unquotedString = mixedQuotedString.replace(/^["']|["']$/g, '');
console.log(unquotedString); // Kết quả: 'Hello, World!'

Sâu hơn nữa

Trước khi JSON trở nên phổ biến, việc thoát khỏi dấu ngoặc là một cao nguyên hoang dã của dấu gạch chéo ngược và những thủ thuật đặc biệt. Các ngôn ngữ lập trình sớm không luôn luôn hợp tác tốt với dấu ngoặc, điều này có nghĩa là rất nhiều thao tác chuỗi thủ công. Bây giờ, với các định dạng dữ liệu được chuẩn hóa, việc loại bỏ dấu ngoặc thường là về việc làm sạch đầu vào trước khi chúng được xử lý như JSON hoặc lưu trữ văn bản mà không có xung đột định dạng.

Các phương án thay thế cho .replace()? Chắc chắn! Bạn có thể tách và kết hợp một chuỗi dựa trên dấu ngoặc, sử dụng slice nếu bạn chắc chắn về vị trí của những dấu ngoặc, hoặc thậm chí là sử dụng biểu thức chính quy để kéo ra văn bản cần thiết. Tất cả phụ thuộc vào bối cảnh.

Nhưng đừng quên về các trường hợp ngoại lệ: dấu ngoặc trong dấu ngoặc, dấu ngoặc được thoát, và kí tự quốc tế. Hãy coi chuỗi của bạn như một mảnh đất của các ngoại lệ tiềm ẩn, và tiến hành cẩn thận. Các trình thực thi JavaScript hiện đại được tối ưu hóa để xử lý các thao tác biểu thức chính quy một cách hiệu quả, vì vậy chúng thường là phương án đi đến, nhưng luôn đáng để kiểm tra hiệu suất cho các nhiệm vụ xử lý dữ liệu nặng.

Xem thêm

Đào sâu hơn vào việc thao tác chuỗi và biểu thức chính quy: