[心得] 將血肉段數由中文改為數字
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
→
10/03 12:44, , 1F
10/03 12:44, 1F
→
10/03 12:48, , 2F
10/03 12:48, 2F
推
10/03 12:48, , 3F
10/03 12:48, 3F
推
10/03 18:26, , 4F
10/03 18:26, 4F
→
10/04 18:44, , 5F
10/04 18:44, 5F
→
10/04 18:50, , 6F
10/04 18:50, 6F
→
10/05 19:39, , 7F
10/05 19:39, 7F
→
10/05 19:39, , 8F
10/05 19:39, 8F
→
10/05 19:41, , 9F
10/05 19:41, 9F
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
18
25
4
12
21
33
-17
30