Lassen Sie uns sagen, dass ich den folgenden Code haben:Java entfernen nicht Latein-Grund Zeichen aus string
String description = "★★★★★ ♫ ♬ This description ✔✔ ▬ █ ✖ is a mess. ♫ ♬ ★★★★★";
Ich möchte die nicht-lateinischen Zeichen entfernen: ✔
, ▬
, █
, ✖
, ♫
, ♬
und ★
.
Und es haben sich dies: This description is a mess.
Ich weiß, es ist wahrscheinlich Tonnen dieser wingdings ähnlichen Zeichen, also statt, was zu spezifizieren würde ich entfernen möchte, ich denke, es ist besser, Liste, was ich behalten wollen : Basic Latin und Latin-1 supplements Zeichen.
fand ich, dass ich den folgenden Code verwenden kann alles, aber die grundlegenden lateinischen Schriftzeichen
String clean_description = description.replaceAll("[^\\x00-\\x7F]", "").trim();
zu entfernen Aber gibt es eine Möglichkeit, die Latin-1 Supplement Zeichen auch zu erhalten?
Da es wie dieser Bereich sieht kommt direkt nach dem Grunde Lateinisch, könntest du nicht einfach die Regex ändern: '" [^ \\ x00 - \\ xFF] "'? – resueman
@resueman das klingt wie eine Antwort ... –
Versuchen '\ p {S}' regex, meinen Beitrag unten – Saleem