Heim > Java > javaLernprogramm > Wie kann ich Zeichenfolgen mit eingebetteten Zahlen sortieren und dabei den lexikalischen und dann den numerischen Vergleich priorisieren?

Wie kann ich Zeichenfolgen mit eingebetteten Zahlen sortieren und dabei den lexikalischen und dann den numerischen Vergleich priorisieren?

DDD
Freigeben: 2024-12-16 13:28:10
Original
703 Leute haben es durchsucht

How Can I Sort Strings with Embedded Numbers, Prioritizing Lexical and then Numeric Comparison?

Sortieren von Zeichenfolgen mit eingebetteten Zahlen

In diesem Szenario haben Sie eine spezielle Anforderung für Zeichenfolgenvergleiche, bei denen der primäre Teil lexikalisch verglichen wird. und wenn sie übereinstimmen, werden die eingebetteten ganzzahligen Werte zur Vergleichsbasis. Um dies zu erreichen, wird unter Berücksichtigung der unterschiedlichen Präsenz von Leerzeichen um numerische Werte ein benutzerdefinierter Ansatz vorgeschlagen.

Alphanum-Algorithmus

Eine empfohlene Lösung ist die Verwendung des „Alphanum-Algorithmus“. " wie von der in der Antwort genannten Website vorgeschlagen. Dieser Algorithmus bietet ein konsistentes Sortierverhalten, das der menschlichen Wahrnehmung entspricht.

Implementierung

Der Alphanum-Algorithmus funktioniert durch einen iterativen Vergleich von Zeichen vom Anfang und Ende von Zeichenfolgen bis zu einer Nichtübereinstimmung angetroffen wird. Wenn ein abweichender Abschnitt gefunden wird, werden die eingebetteten Zahlen mithilfe regulärer Ausdrücke extrahiert. Wenn die Zeichenfolgen konvertierbare Zahlen enthalten, wird ein numerischer Vergleich durchgeführt. Andernfalls wird ein lexikalischer Vergleich des extrahierten Abschnitts durchgeführt.

Komparator-Implementierung

Eine Java-Komparator-Implementierung des Alphanum-Algorithmus ist unter dem bereitgestellten Link verfügbar. Durch die Integration dieses Komparators können Sie Zeichenfolgen gemäß den gewünschten Spezifikationen sortieren, lexikalische Vergleiche für die nicht numerischen Teile priorisieren und numerische Vergleiche für die eingebetteten ganzzahligen Werte nutzen.

Das obige ist der detaillierte Inhalt vonWie kann ich Zeichenfolgen mit eingebetteten Zahlen sortieren und dabei den lexikalischen und dann den numerischen Vergleich priorisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage