Ich denke, dass Sie Ihre Zeichenfolge leicht von Hand filtern und den Code des bestimmten Charakters überprüfen können. Wenn es Ihren Anforderungen entspricht, fügen Sie es zu einem StringBuilder
hinzu und machen Sie toString()
am Ende.
Ich möchte High-ASCII-Zeichen wie ®, ©, ™ aus einem String in Java erkennen und entfernen. Gibt es eine Open-Source-Bibliothek, die das kann?
Wenn Sie alle Nicht-US-ASCII-Zeichen (d. h. außerhalb von 0x0-0x7F) entfernen müssen, können Sie Folgendes tun:
%Vor%Wenn Sie viele Zeichenfolgen filtern müssen, ist es besser, ein vorkompiliertes Muster zu verwenden:
%Vor%Und wenn es wirklich performancekritisch ist, wäre vielleicht Alex Nikolaenkovs Vorschlag besser.
Wenn Sie alle Nicht-US-ASCII-Zeichen (d. h. außerhalb von 0x0-0x7F) entfernen müssen, können Sie Folgendes tun:
%Vor%Wenn Sie viele Zeichenfolgen filtern müssen, ist es besser, ein vorkompiliertes Muster zu verwenden:
%Vor%Und wenn es wirklich performancekritisch ist, wäre vielleicht Alex Nikolaenkovs Vorschlag besser.
Ich verstehe, dass Sie löschen müssen: ç, ã, Ã, aber für alle, die konvertieren müssen ç, ã, Ã --- & gt; c, a, A Bitte sehen Sie sich diesen Code an:
Beispielcode:
%Vor%Ausgabe:
Dies ist eine funky String
Ich denke, dass Sie Ihre Zeichenfolge leicht von Hand filtern und den Code des bestimmten Charakters überprüfen können. Wenn es Ihren Anforderungen entspricht, fügen Sie es zu einem StringBuilder
hinzu und machen Sie toString()
am Ende.
Eine gute Möglichkeit ist die Verwendung von Google Guava CharMatcher :
%Vor%%code% enthält nur die ASCII-Zeichen (Codepunkt & lt; 128) von der ursprünglichen Zeichenkette.
Dies liest sich natürlicher als ein regulärer Ausdruck. Reguläre Ausdrücke können für nachfolgende Leser Ihres Codes mehr Aufwand bedeuten.
Ich möchte High-ASCII-Zeichen wie ®, ©, ™ aus einem String in Java erkennen und entfernen. Gibt es eine Open-Source-Bibliothek, die das kann?
Eine gute Möglichkeit ist die Verwendung von Google Guava CharMatcher :
%Vor% newString
enthält nur die ASCII-Zeichen (Codepunkt & lt; 128) von der ursprünglichen Zeichenkette.
Dies liest sich natürlicher als ein regulärer Ausdruck. Reguläre Ausdrücke können für nachfolgende Leser Ihres Codes mehr Aufwand bedeuten.