Как отсортировать строки Юникода в алфавитном порядке в Common Lisp? - PullRequest
1 голос
/ 16 апреля 2020

Это:

(sort '("Aaa" "Ééé" "Zzz") #'string-lessp)
;; ("Aaa" "Zzz" "Ééé")

не удовлетворяет, потому что «Ééé» должно предшествовать «Zzz».

Как мы можем сортировать строки в юникоде по алфавиту?

My Текущий подход заключается в создании копии строк, замене акцентированных букв их аналогами (с cl-slug: asciify , который вызывает ppcre: regexp-replace-all), сортировкой и отображением исходной строки назад.

Спасибо.

1 Ответ

2 голосов
/ 16 апреля 2020

Если вы используете SBCL, у вас есть встроенная поддержка юникода.

Операции со строками

Попробуйте выполнить сортировку с помощью Unicode <вместо string-lessp. </p>

...