862228699 发表于 2017-7-10 21:43:37

【已解决】有啥正则能最快的替换里面的大写为阿拉伯数字吗?

本帖最后由 862228699 于 2017-7-11 13:21 编辑

这是一个摩托车仪表生产厂,数据从软件导出来的。

里面的数量全是大写。想把大写变成阿拉伯数字。

谢谢大神指教。。。。

haijie1223 发表于 2017-7-10 22:23:00

坐等大神

862228699 发表于 2017-7-10 22:32:07

回复 2# haijie1223


    各自开你的车去。。。。

yamakawa 发表于 2017-7-10 23:46:58

本帖最后由 yamakawa 于 2017-7-10 23:53 编辑

俺的code用了 0.57秒。。。。。。坐等高人

afan 发表于 2017-7-11 01:36:32

Local $str = FileRead('大写转阿拉伯数字.txt')
Local $aNum = [, , , , , , , , , ]
For $ii = 1 To 9
        $str = StringRegExpReplace($str, $aNum[$ii] & '拾(?= 个)', $aNum[$ii] & '0')
        $str = StringRegExpReplace($str, $aNum[$ii] & '拾(?=\S 个)', $aNum[$ii])
        $str = StringRegExpReplace($str, $aNum[$ii] & '(?= 个)', $aNum[$ii])
Next
FileWrite('大写转阿拉伯数字_1.txt', $str)

yamakawa 发表于 2017-7-11 09:17:49

Local $dbfile = @ScriptDir & "\data.txt"
Local $str = FileRead($dbfile)
Local $Hi = ["壹","贰","叁","肆","伍","陆","柒","捌","玖","拾"]
Local $Lo =

Local $time =TimerInit()
For $i = 0 To 9
       $str = StringRegExpReplace($str,$Hi & $hi[$i],$Lo[$i])
       $str = StringRegExpReplace($str,$Hi[$i],$Lo[$i])
Next
Local $timediff = TimerDiff($time)/1000

FileWrite('out.txt', $str)

MsgBox(0,"用时;" & $timediff & "秒",$str)俺是这样弄的,先收拾 拾X。变成x
然后汉字转阿拉伯数字

862228699 发表于 2017-7-11 13:21:28

回复 5# afan
感谢Afan这方法确定方便了很多啊。
页: [1]
查看完整版本: 【已解决】有啥正则能最快的替换里面的大写为阿拉伯数字吗?