比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.*