比perl还迷幻,随便用个脚本不舒服百倍:
=> (let [ss ["98,234,234,123"
"1,132,390,489,452"
"341,309,432,423,454,111"]]
(for [s ss]
(apply str (reverse (map #(str %1 %2)
(map #(apply str (reverse %)) (partition-all
4 (reverse (remove-e s \,))))
"元万亿兆京"))) ))
("982亿3423万4123元" "1兆1323亿9048万9452元" "34京1309兆4324亿2345万4111元")
【 在 poocp (慢速随机指标) 的大作中提到: 】
: 标 题: 写了个将欧美3分割数字转为中国4分割数字的sed脚本
: 发信站: 水木社区 (Sat Feb 6 21:46:37 2021), 站内
:
: 三分割的数字用中文读起来太麻烦了,写了个脚本转一下,中文四分割,分割符用汉字取代逗号,可以直接读。
:
: echo "\n341,309,432,423,454,111\n1,132,390,489,452\n98,234,234,123"
:
: 341,309,432,423,454,111
: 1,132,390,489,452
: 98,234,234,123
:
: echo "\n341,309,432,423,454,111\n1,132,390,489,452\n98,234,234,123" | sed -e 's#\([0-9]\+\),\([0-9]\)#\1\2#g' | rev | sed -e 's#\([0-9][0-9][0-9][0-9]\)\([0-9]\+\)#\1万\2#g;s#\([0-9]*万\)\([0-9][0-9][0-9][0-9]\)\([0-9]\+\)#\1\2亿\3#g;s#\([0-9万]*亿\)\([0-9][0-9][0-9][0-9]\)\([0-9]\+\)#\1\2兆\3#g;s#\([0-9万亿]*兆\)\([0-9][0-9][0-9][0-9]\)\([0-9]\+\)#\1\2京\3#g' | rev
:
: 34京1309兆4324亿2345万4111
: 1兆1323亿9048万9452
: 982亿3423万4123
: ※ 修改:·poocp 于 Feb 6 22:03:27 2021 修改本文·[FROM: 118.122.107.*]
: ※ 来源:·水木社区
http://www.newsmth.net·[FROM: 118.122.107.*]
--
修改:poocp FROM 118.122.107.*
FROM 123.113.216.*