Java:
Loại bỏ dấu ngoặc kép khỏi chuỗi
Làm thế nào:
Hãy kéo những dấu ngoặc khó chịu này ra khỏi văn bản của chúng ta. Chúng ta sẽ sử dụng phương thức replace()
cho những sửa chữa nhanh chóng và regex cho những vấn đề khó khăn hơn.
public class QuoteRemover {
public static void main(String[] args) {
String stringWithQuotes = "\"Hello, 'World'!\"";
String withoutQuotes = stringWithQuotes.replace("\"", "").replace("'", "");
System.out.println(withoutQuotes); // Hello, World!
// Bây giờ với regex cho những người đam mê mẫu
String stringWithMixedQuotes = "\"Java\" và 'Lập trình'";
String cleanString = stringWithMixedQuotes.replaceAll("[\"']", "");
System.out.println(cleanString); // Java và Lập trình
}
}
Sâu hơn nữa
Ngày xưa, dấu ngoặc trong chuỗi không tạo nhiều rắc rối - hệ thống đơn giản hơn và dữ liệu không lộn xộn như bây giờ. Với sự xuất hiện của các định dạng dữ liệu phức tạp (JSON, XML) và nhu cầu về trao đổi dữ liệu, quản lý dấu ngoặc trở nên quan trọng. Nói về các phương án thay thế, chắc chắn, bạn có thể viết một trình phân tích cú pháp, lặp qua từng ký tự và xây dựng một chuỗi mới (có thể là thú vị vào một ngày mưa). Cũng có các thư viện bên thứ ba có thể xử lý điều này một cách tinh vi hơn, cung cấp các lựa chọn để thoát khỏi các ký tự thay vì loại bỏ chúng, hoặc để xử lý các loại dấu ngoặc khác nhau theo địa phương. Về mặt triển khai, hãy ghi nhớ việc loại bỏ dấu ngoặc mà không có ngữ cảnh có thể thay đổi ý nghĩa hoặc cấu trúc của dữ liệu - luôn cân nhắc “tại sao” trước “làm thế nào”.
Xem thêm
- Để tìm hiểu sâu hơn về regex, hãy xem tài liệu chính thức của Java: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html
- Cần thoát dấu ngoặc thay vì loại bỏ chúng? Stack Overflow có thể giúp bạn: https://stackoverflow.com/questions/383551/escape-string-for-sql-insert
- Xử lý JSON trong Java? Bạn có thể thường xuyên gặp dấu ngoặc. Đây là một điểm khởi đầu: https://www.oracle.com/technical-resources/articles/java/json.html