Diciamo che ho il seguente codice:Java rimuovere i caratteri non latini-base dalla stringa
String description = "★★★★★ ♫ ♬ This description ✔✔ ▬ █ ✖ is a mess. ♫ ♬ ★★★★★";
mi piacerebbe rimuovere i caratteri non latini: ✔
, ▬
, █
, ✖
, ♫
, ♬
e ★
.
e farlo diventare tale: This description is a mess.
So che probabilmente c'è tonnellate di questi caratteri Wingdings-come, così invece di specificare quello che mi piacerebbe di rimuovere, penso che sia meglio elencare ciò che voglio tenere : Basic Latin e Latin-1 supplements caratteri.
ho trovato che posso utilizzare il seguente codice per rimuovere tutto, ma i caratteri latini di base
String clean_description = description.replaceAll("[^\\x00-\\x7F]", "").trim();
Ma c'è un modo per preservare anche i caratteri Latin-1 supplemento?
Poiché sembra che tale intervallo viene subito dopo di base latin, non potresti semplicemente cambiare la regex con questo: '" [^ \\ x00 - \\ xFF] "'? – resueman
@resueman questo suona come una risposta ... –
Provare regex '\ p {S}', vedere il mio post sotto – Saleem