用Katakana在C#中排序日文文本

时间:2011-08-01 14:40:21

标签: c# sorting unicode cjk

是否可以按片假名对日语字符串列表进行排序?

2 个答案:

答案 0 :(得分:3)

当然可以。如果你使用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);

顽张ってください!

答案 1 :(得分:0)

是的,确定您可以按其组成字符对片假名字符串进行排序。但这只有在您只对日语的一部分感兴趣时才有效。一般来说日语字符串由平假名,片假名和汉字组成。

如果您想要基本的日语排序,我会使用kakasi将汉字转换为平假名,然后决定如何订购平假名和片假名;我个人很想做あ,ア,い,イ,う,ウ等。