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!