Вопрос по java, unicode – Поиск строки Java без учета акцентов - часть II

3

Этот вопрос является продолжениемПоиск строки Java без учета акцентов.

Ответ на оригинальный вопрос показывает нам, как удалить диакритические знаки из строк. Так, например,köln становитсяkoln, Ноłódź становитсяłodz - Обратите вниманиеЯ с ударом.

Мой вопрос, как я могу удалить удар, так чтоłódź становитсяlodz?

Благодарю.

Вам дали неправильный ответ. Смотрите мой комментарий ниже. tchrist

Ваш Ответ

2   ответа
2

по крайней мере, не тривиально для всех таких писем. Письмоł (кроме внешнего вида и его имени в Юникоде) не связан сl вообще (по крайней мере, в Unicode; лингвистически это другой вопрос).

Единственным вариантом может быть таблица преобразования для вашего варианта использования, которую вы можете заполнить всеми символами, которые необходимо преобразовать.

Я действительно хочу строку без акцента. mark
Признаюсь, я не смотрел на то, что они на самом деле хотят делать, и воспринял этот вопрос как & # xBB; как я могу создать новую строку, гдеł превращается вl? & # XAB; я думаю чтоwould Сложно использовать алгоритм сортировки (исключая перечисление всех возможных строк). Так что я в основном смотрел на разложение. Я не могу удалить до тех пор, пока не откажусь.
This answer is incorrect!!  В соответствии с текущим DUCET, используемым алгоритмом сопоставления Unicode, первичная сила сопоставления для U + 0142LATIN SMALL LETTER L WITH STROKE (тотł характер) идентичен нормальномуLATIN SMALL LETTER L, Правильный ответ - сравнивать строки, используя алгоритм сортировки Unicode, но с силой, установленной только на первичную (первый уровень). Вероятно, вам придется использовать ICU, если вы застряли на Java, поскольку библиотеки Sun неправильно реализуют UCA.
1

он также не распознал его как производный от L. L с инсультом, кажется, особый случай в Юникоде. смотреть наhttp://bugs.mysql.com/bug.php?id=11369 Говорят, в Unicode 4.0 он не был подключен к L, в то время как в Unicode 4.1 он есть. Интересно, проверял ли кто-нибудь проблему с библиотекой Java на основе Unicode4.1?

Похожие вопросы