Powiedzmy mam następujący kod:Java usunąć non Łacińskiej podstawowe znaki z łańcucha
String description = "★★★★★ ♫ ♬ This description ✔✔ ▬ █ ✖ is a mess. ♫ ♬ ★★★★★";
chciałbym, aby usunąć znaki spoza alfabetu łacińskiego: ✔
, ▬
, █
, ✖
, ♫
, ♬
i ★
.
i go stać to: This description is a mess.
Wiem, że pewnie ton tych WingDings-podobnej postaci, więc zamiast określania co chciałabym usunąć, myślę, że lepiej wymienić co chcę zachować : Basic Latin i Latin-1 supplements znaków.
odkryłem, że mogę użyć następującego kodu, aby usunąć wszystko, ale podstawowych znaków łacińskich
String clean_description = description.replaceAll("[^\\x00-\\x7F]", "").trim();
Ale czy jest jakiś sposób aby zachować również znaków Latin-1 suplementów?
Ponieważ wygląda na to, że zakres przychodzi tuż po podstawowe łaciński, czy nie mógłbyś po prostu zmienić wyrażenia regularnego na to: '" [^ \\ x00 - \\ xFF] "'? – resueman
@resueman to brzmi jak odpowiedź ... –
Spróbuj '\ p {S}' regex, zobacz mój wpis poniżej – Saleem