發布時間:2024-01-23閱讀(15)
先看看excel怎么處理筆畫排序的:
以上視頻展示了使用excel內部排序規則來進行筆畫排序

然后通過下面對應表來確定筆畫數
漢字與筆畫數對應表:漢字 筆畫數一1二2三3亖4弍5弎6匤7邼8砉9耕10彗11耠12耢13耤14熭15耩16耫17耮18耯19瓎20耰21耲22瓚23瓛24纛25驠26鬤27驨28驪29驫30灩31籲32龗33齾35齉36靐39龘48
通過excel對漢字進行對比筆畫對應表再排序。比如“弎”6畫,匤7畫,邼8畫
通過相鄰區間位置,可以容易得到漢字筆畫數表。這個工作我將后一步編程實現。
通過查找MSDN,找到相關資料:
https://docs.microsoft.com/zh-cn/previous-versions/bb688122(v=msdn.10)?redirectedfrom=MSDN
NET Framework 中的排序與字符串比較
字符串比較
CompareInfo 類提供了一組可用來執行區分文化的字符串比較方法。CultureInfo.CompareInfo 屬性(CultureInfo 類的一個實例)可定義如何針對特定文化來比較和排序字符串。String.Compare 方法使用 CultureInfo.CompareInfo 屬性中的信息來比較字符串。如果 string1 小于 string2,此方法返回一個負整數;如果 string1 和 string2 相等,則返回零 (0);如果 string1 大于 string2,則返回一個正整數。
以下代碼示例將說明如何根據進行比較時所使用的文化,通過 String.Compare 方法以不同的方式來計算兩個字符串。首先,將 CurrentCulture 設置為丹麥語(丹麥),并比較字符串 "Apple" 和 "?ble"。丹麥語將字符 "?" 視為一個單獨的字母,在字母表中將其排在 "Z" 之后。因此對于丹麥語文化,字符串 "?ble" 大于 "Apple"。接下來,將 CurrentCulture 設置為英語(美國),再次比較字符串 "Apple" 和 "?ble"。這一次,字符串 "?ble" 被認為小于 "Apple"。英語語言將字符 "?" 視為一個特殊符號,在字母表中將其排在字母 "A" 之前。
字符串排序Array 類提供了一個重載的 Array.Sort 方法,通過它可以根據 CultureInfo.CurrentCulture 屬性來排序數據。在以下示例中,將創建一個由三個字符串組成的數組。首先,將 CurrentCulture 設置為 "en-US" 并調用 Array.Sort 方法。生成的排序順序采用的是 "en-US" 文化的排序約定。接下來,將 CurrentCulture 設置為 "da-DK",并再次調用 Array.Sort 方法。注意此排序順序的生成方式不同于 "en-US" 的結果,因為這次使用的是 "da-DK" 文化的排序約定。

Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click Dim sz As String() = {"我", "是", "中", "國", "人"} ‘定義一個字符串數組 Thread.CurrentThread.CurrentCulture = New CultureInfo(&H804)設置CurrentCulture.LCID為&H804,注意是十六進制,下面輸出也用了HEX輸出。 ListBox1.Items.Add(Hex(Application.CurrentCulture.LCID)) Array.Sort(sz) 排序到listbox(sz) ListBox1.Items.Add("按發音數排序完成") Thread.CurrentThread.CurrentCulture = New CultureInfo(&H20804) ListBox1.Items.Add(Hex(Application.CurrentCulture.LCID)) Array.Sort(sz) 排序到listbox(sz) ListBox1.Items.Add("按筆畫數排序完成") Thread.CurrentThread.CurrentCulture = New CultureInfo("zh-cn") ListBox1.Items.Add(Hex(Application.CurrentCulture.LCID)) Array.Sort(sz) 排序到listbox(sz) ListBox1.Items.Add("按拼音排序完成") End Sub Sub 排序到listbox(sz() As String) For i = 0 To UBound(sz) ListBox1.Items.Add(sz(i)) Next End Sub

歡迎分享轉載→http://www.avcorse.com/read-97010.html
Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖