2011-08-01 42 views
3

是否可以用片假名排序日文字符串列表?在C中用片假名排序日文文本#

+0

可能的[[清單的副本!本地化](http://stackoverflow.com/questions/5544955/sort-list-by-localization) –

+0

我的日語知識很難區分,但我相信這討論了一般的基於ASCII的排序。我如何根據片假名專門對它們進行分類? – thunderboltz

+0

http://stackoverflow.com/questions/4895527/can-sorting-japanese-kanji-words-be-done-programatically – Damith

回答

3

當然可以。如果你使用CultureInfo,你可以做到這一點,所以它不費心尋找大寫/小寫。

​​

可以擴展排序的functinality不平假名和片假名之間的區別,如果你這樣做此想:

//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

是的,您可以確定您可以通過組成字符對片假名字符串進行排序。但是這隻有在你只對日語的一部分感興趣時纔有用。一般來說,日文字符串由平假名,片假名和漢字組成。

如果你想要基本的日語排序,我會使用kakasi將漢字轉換成平假名,然後決定你想要如何命令平假名和片假名;親自我會被誘惑做あ,ア,い,イ,う,ウ等

+0

是否有可能使用一些現有的庫,最好在C#中完成整個排序過程? – thunderboltz

+0

問題是,你不能真正相信Kakasi(或類似的)將Kanji可靠地轉換成Kana。如果將有田地,f.e.在漢字中的名字等,那麼應該有一個匹配的字段,用戶也可以輸入假名版本。 – Noah