So entfernen Sie ASCII-Zeichen mit hohem ASCII-Wert aus Zeichenfolgen wie ®, ©, ™ in Java

8

Ich möchte High-ASCII-Zeichen wie ®, ©, ™ aus einem String in Java erkennen und entfernen. Gibt es eine Open-Source-Bibliothek, die das kann?

    
RandomQuestion 15.02.2011, 19:16
quelle

4 Antworten

29

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.

    
axtavt 15.02.2011, 19:19
quelle
16
___ answer5008450 ___

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.

    
___ answer34827472 ___

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

    
___ antwort5008459 ___

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.

%Vor%     
___ answer5008497 ___

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.

    
___ qstnhdr ___ So entfernen Sie ASCII-Zeichen mit hohem ASCII-Wert aus Zeichenfolgen wie ®, ©, ™ in Java ___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ qstntxt ___

Ich möchte High-ASCII-Zeichen wie ®, ©, ™ aus einem String in Java erkennen und entfernen. Gibt es eine Open-Source-Bibliothek, die das kann?

    
___ tag123string ___ Eine Zeichenfolge ist eine endliche Abfolge von Symbolen, die üblicherweise für Text verwendet wird, manchmal jedoch auch für beliebige Daten. ___
Alex Nikolaenkov 15.02.2011 19:20
quelle
5

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.

    
sjr 15.02.2011 19:24
quelle
1

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

    
molu2008 16.01.2016 13:23
quelle

Tags und Links