Сортировка японского текста по Катакана в C#
Можно ли отсортировать список японских струн по катакане?
2 ответа
Что вы можете. Если вы используете CultureInfo, вы можете сделать так, чтобы он не беспокоился о поиске верхнего / нижнего регистра.
// Create CultureInfo
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("ja-JP");
//Create the StringComparer
StringComparer cmp = StringComparer.Create(ci, true);
// Sort your array of string
Array.Sort(myArray, cmp);
Вы можете расширить функциональность такого рода, чтобы не делать различий между Хирагана и Катакана, если хотите, выполнив следующее:
//Create CultureInfo
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("ja-JP");
// Set it so it ignores the kana type
CultureInfoCompare cmp =
new CultureInfoCompare(ci, System.Globalization.CompareOptions.IgnoreKanaType);
//Sort it
Array.Sort(myArray, cmp);
頑 張 っ て く だ さ い!
Да, конечно, вы можете сортировать строки катаканы по составным символам. Но это будет работать только в том случае, если вас интересует только часть японского языка. Обычно японские нити состоят из хираганы, катаканы и кандзи.
Если вам нужна базовая сортировка по японскому языку, я бы использовал kakasi для преобразования кандзи в хирагана, а затем решил, как вы хотите заказать хирагану и катакану; лично я бы соблазнился сделать あ, ア, い, イ, う, ウ и т. д.