精華區beta mud_sanc 關於我們 聯絡資訊
Pattern:為第(%1)段 chnumberlist="零 一 二 三 四 五 六 七 八 九" 先準備一個置換表chnumberlist。 #var bloodmap %1 把末加工的中文型態段數放進bloodmap裡。 #loop 0,9 {#var bloodmap %replace(@bloodmap,%word(@chnumberlist,%eval(%i+1)),%i} 利用置換表把零一二三四五六七八九改成0123456789 #case %eval(%len(@bloodmap)-%pos("百",@bloodmap=1)) {#var bloodmap %replace(@bloodmap,"百","00"} {#var bloodmap %replace(@bloodmap,"百",""} 將中文字百修改成正確的結果。 狀況 len pos 運算結果 選擇項 取代值 結果 1百 3 2 1 紅 00 100 1百01 5 2 0 白 101 1百1十 6 2 0 白 110 1百1十1 7 2 0 白 111 #case %eval(%pos("十",@bloodmap)+%len(@bloodmap)-2) {#var bloodmap %replace(@bloodmap,"十","10")} {#var bloodmap %replace(@bloodmap,"十","1")} {#var bloodmap %replace(@bloodmap,"十","0")} {#var bloodmap %replace(@bloodmap," 十","")} {#var bloodmap %replace(@bloodmap,"十","0")} {#var bloodmap %replace(@bloodmap,"十","")} {#noop} 將中文字十修改成正確的結果。 狀況 len pos total total-2 選擇項 取代值 結果 十 2 1 3 1 紅 10 10 十2 3 1 4 2 綠 1 12 2十 3 2 5 3 金 0 20 2十2 4 2 6 4 紫 22 22十 4 3 8 5 靛 0 220 22十2 5 3 8 6 灰 222 #say @bloodmap 輸出或另作他用! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.176.62
hmml :"百"的判斷用%end應該就可以....runaway 10/03 12:44