Wie passe ich Unicode-Zeichen in Java an?

8

Ich versuche Unicode-Zeichen in Java zu finden.

Eingabezeichenfolge: informa

Passende Zeichenfolge: informátion

Bisher habe ich das versucht:

%Vor%

Es kommt als "Keine Übereinstimmung" heraus. Irgendwelche Ideen?

    
ankimal 23.06.2010, 16:03
quelle

3 Antworten

12

Der Begriff "Unicode-Zeichen" ist nicht spezifisch genug. Es würde jedem -Zeichen entsprechen, das im Unicode-Bereich liegt, also auch "normale" Zeichen. Dieser Begriff wird jedoch sehr oft verwendet, wenn ein tatsächlich bedeutet, dass Zeichen nicht im druckbaren ASCII-Bereich enthalten sind ".

In regulären Ausdrücken wäre das [^\x20-\x7E] .

%Vor%

Je nachdem, was Sie mit diesen Informationen machen möchten, hier einige nützliche Antworten:

BalusC 23.06.2010, 16:11
quelle
6

Liegt das daran, dass informa überhaupt keine Teilzeichenfolge von informátion ist?

Wie würde Ihr Code funktionieren, wenn Sie die letzte a von informa in Ihrer Regex entfernt hätten?

    
Austin Fitzpatrick 23.06.2010 16:04
quelle
1

Es klingt so, als ob Sie Buchstaben zusammenpassen und dabei diakritische Zeichen ignorieren möchten. Wenn das stimmt, normalisieren Sie Ihre Zeichenfolgen in NFD-Form, entfernen Sie die diakritischen Zeichen und führen Sie dann Ihre Suche durch.

%Vor%

Um mehr über NFD zu erfahren:

james.garriss 01.10.2015 16:03
quelle

Tags und Links