komaau3 发表于 2010-11-15 00:27:58

看看先 ..........

njuFerret 发表于 2010-11-15 08:14:14

\d{3}\d{3}\d{3}

netegg 发表于 2010-11-15 18:01:58

#Include <String.au3>
_StringAddThousandsSep函数的源码好像就是正则写的,参考下就行了

binghc 发表于 2010-11-15 18:09:40

回复 33# netegg


    好主意!马上去看一下这个函数的正则是怎么写的。。。

binghc 发表于 2010-11-15 18:13:29

本帖最后由 binghc 于 2010-11-15 18:21 编辑

看了,不是纯正则处理的,那就不是本贴的谈论范围了

不过系统的库函数,写得就是很好:


Func _StringAddThousandsSep($sString, $sThousands = ",", $sDecimal = ".")
        Local $sResult = ""
        Local $aNumber = StringRegExp($sString, "(\d+)\D?(\d*)", 1)
        If UBound($aNumber) = 2 Then
                Local $sLeft = $aNumber
                While StringLen($sLeft)
                        $sResult = $sThousands & StringRight($sLeft, 3) & $sResult
                        $sLeft = StringTrimRight($sLeft, 3)
                WEnd
                $sResult = StringTrimLeft($sResult, 1)
                If $aNumber <> "" Then $sResult &= $sDecimal & $aNumber
        EndIf
        Return $sResult
EndFunc


佩服!独特的处理方式!

terse 发表于 2010-11-16 00:50:48

看你们的 学习

amadisyeh 发表于 2010-11-18 21:35:53

還在學習中..先多看看人家寫的

謝謝大家辛苦了

tryhi 发表于 2010-11-21 18:12:57

我还是直接看答案好了

tryhi 发表于 2010-11-21 19:39:13

以为很简单。。。。。结果看半天没明白

mybkc 发表于 2010-11-22 08:00:14

学习来的!

sandy 发表于 2024-11-29 19:59:57

这么多人研究正则啊

yohoboy 发表于 2024-12-1 00:11:09

看看怎麼實現,我想應該有數字檢查,長度及分割應該就可以實現了

bun958 发表于 2024-12-10 15:26:22

回復查看大神解題思路
页: 1 2 [3]
查看完整版本: [正则练习]给数字串加上逗号