Bạn có thể sử dụng phương thức replaceAll
của lớp String
.
Bạn có thể tạo một lớp nhân vật bao gồm các ký tự bạn muốn xóa. Và chuỗi thay thế sẽ là chuỗi trống ""
.
Nhưng các ký tự bạn muốn xóa mà bạn sẽ đặt trong lớp ký tự có thể là ký tự meta regex và do đó cần phải được thoát. Bạn có thể tự thoát chúng khi nhiều câu trả lời hiển thị, cách khác bạn có thể sử dụng phương thức Pattern.quote()
.
String charToDel = ">[],-";
String pat = "[" + Pattern.quote(charToDel) + "]";
String str = "a>b[c]d,e-f";
str = str.replaceAll(pat,"");
See it
Vâng, bạn có thể sử dụng regex, nhưng sau đó bạn sẽ phải thoát ký tự đặc biệt. Và bạn đang nói về loại hiệu quả nào? Thời gian chạy hoặc của riêng bạn (tức là dòng mã)? –
Lo lắng về "hiệu quả" của các vấn đề cụ thể này cho thấy tối ưu hóa sớm; Tôi rất nghi ngờ rằng phương pháp * này * là nút cổ chai của ứng dụng của bạn. Hãy dành thời gian của bạn để tìm hiểu xem ứng dụng của bạn ở đâu * thực sự * chậm và cần tối ưu hóa. – Bombe