Сортировка японского текста по Катакана в C # - PullRequest
3 голосов
/ 01 августа 2011

Можно ли отсортировать список японских строк по их катаканам?

Ответы [ 2 ]

3 голосов
/ 03 августа 2011

Конечно, вы можете. Если вы используете 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);

頑 張 っ て く だ さ い!

0 голосов
/ 01 августа 2011

Да, конечно, вы можете сортировать строки катаканы по составным символам. Но это будет работать только в том случае, если вас интересует только часть японского языка. Обычно японские нити состоят из хираганы, катаканы и кандзи.

Если вы хотите базовую сортировку по японскому языку, я бы использовал kakasi , чтобы преобразовать кандзи в хирагана, а затем решить, как вы хотите заказать хирагану и катакану; лично я хотел бы сделать あ, あ, い, イ, う, ウ и т. д.

...