Ngoài ra còn có một chức năng replaceAll sử dụng dây, lưu ý tuy nhiên nó evals chúng như regexes, nhưng để thay thế một đĩa đơn char sẽ làm tốt.
Dưới đây là một ví dụ:
String meal = "Hambbburger";
String replaced = meal.replaceAll("b","");
Lưu ý rằng biến replaced
là cần thiết vì replaceAll
không thay đổi chuỗi tại chỗ nhưng tạo ra một cái mới với sự thay thế (String
là bất biến trong java).
Nếu nhân vật bạn muốn thay thế có một ý nghĩa khác nhau trong một regex (ví dụ như .
char sẽ phù hợp với bất kỳ char, không phải là một dấu chấm), bạn sẽ cần phải quote
tham số đầu tiên như thế này:
String meal = "Ham.bur.ger";
String replaced = meal.replaceAll(Pattern.quote("."),"");
Nguồn
2011-08-10 15:41:22
Bạn không thể là 'không có gì' không phải là một char! Tại sao bạn không thể sử dụng 'replace (String, String)'? –
có thể trùng lặp của [Java: xóa tất cả các lần xuất hiện của char khỏi chuỗi] (http://stackoverflow.com/questions/4576352/java-remove-all-occurances-of-char-from-string) – dogbane
Hi Dogbane, đó là cho Java 5 trở lên, sẽ không có phiên bản quá tải có sẵn cho 1.4.2. –