Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用C语言对日语文本进行片假名排序#_C#_Sorting_Unicode_Cjk - Fatal编程技术网

C# 用C语言对日语文本进行片假名排序#

C# 用C语言对日语文本进行片假名排序#,c#,sorting,unicode,cjk,C#,Sorting,Unicode,Cjk,可以按片假名对日语字符串列表进行排序吗 是的,当然可以按组成字符对片假名字符串进行排序。但只有当你只对日语的一个子集感兴趣时,这才有效。一般来说,日本弦是由平假名、片假名和汉字组成的 如果你想要基本的日语排序,我会用汉字转换成平假名,然后决定如何排序平假名和片假名;就我个人而言,我很想这么做あ, ア, い, イ, う, ウ, 等等。当然可以。如果您使用CultureInfo,则可以使其不必费心查找大写/小写 // Create CultureInfo System.Globalization.C

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

是的,当然可以按组成字符对片假名字符串进行排序。但只有当你只对日语的一个子集感兴趣时,这才有效。一般来说,日本弦是由平假名、片假名和汉字组成的


如果你想要基本的日语排序,我会用汉字转换成平假名,然后决定如何排序平假名和片假名;就我个人而言,我很想这么做あ, ア, い, イ, う, ウ, 等等。

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

頑張ってください!

我日文知识的可能重复很难区分两者之间的区别,但我相信这讨论了一般的基于ASCII的排序。如何根据片假名对它们进行具体排序?是否可以使用一些现有的库(最好是C#)完成整个排序过程?问题是您不能真正信任Kakasi(或类似的库)将汉字可靠地转换为假名。如果在汉字中有保留字段、f.e.名称等,那么应该有一个匹配字段,用户在其中输入假名版本。