2016-03-01 75 views
6

Tôi muốn xóa tất cả các ký tự đặc biệt lạ khỏi một chuỗi trong Java. Những ký tự đặc biệt lạ này xuất hiện dưới dạng ? (Dấu hỏi) trong MS Word. Hình ảnh của chuỗi mẫu được đưa ra dưới đây.Java: Xóa các ký tự đặc biệt lạ khỏi Chuỗi

enter image description here

+3

Thay đổi mã hóa – TheLostMind

+1

Tìm hiểu về Unicode và UTF-8. – duffymo

+3

và kiểm tra http://stackoverflow.com/a/8519863/2166188 –

Trả lời

4
String string=givenString.replaceAll("[^\\p{ASCII}]", ""); 

\ p {ASCII} là POSIX nhân vật classes.It sẽ thay thế các chuỗi ascii không và trả về chuỗi (ASCII có thể in).

+0

Bạn có thể vui lòng thêm một số giải thích thay vì chỉ một dòng mã không. – ctst

1

này sẽ làm việc:

String string = yourString.replaceAll("[^\\x00-\\x7F]", ""); 
1

Bạn có thể sử dụng

String newString = my_string.replaceAll("\\p{C}", ""); 
hơn

thông tin về Java Unicode biểu hiện thường xuyên Java Unicode Regular expression here

Các vấn đề liên quan