如何用正则表达式提取打印页码

来源:百度知道 编辑:UC知道 时间:2024/05/30 06:36:12
求助,如何用VB实现从"1-3,5,9-12"这样的字符串中提取打印的页码?

比如客户输入的是str="1-3,5,9-12"
如何将它转化为一个数组:Array=[1,2,3,5,9,10,11,12]

谢谢!
saogegood:
谢谢,你的方法很不错,在句尾加一个逗号就可以匹配了

fennng:
谢谢答复,我的意思是需要用正则表达式匹配出1-5,7,9-12这样的段落,然后再用其他方法拆出这个数字。

朋友,以下,是我刚刚为我表达我的赚意.特意给你写的代码.呵呵,希望能帮助到你.......
你试试.看能不能实现要求........如果不行..请再说清楚一点.我们会尽力帮你

',号是分隔符 - 是范围符

'需要控件: command1,text1

Private Sub Command1_Click()
If Right(Text1, 1) <> "," Then Text1.Text = Text1.Text & ","

strSz = Split(Text1, ",")
'MsgBox strSz(0)

For i = 0 To UBound(strSz)
If InStr(strSz(i), "-") > 0 Then
ch = strSz(i)
X1 = Val(Left(ch, InStr(1, ch, "-") - 1))
X2 = Val(Mid(ch, Len(X1) + 2))
For j = IIf(X1 < X2, X1, X2) To IIf(X1 > X2, X1, X2)
strdata = strdata & " " & j
Next j
Else
strdata = strdata & " " & strSz(i)
End If

Next i
Me.Caption = strdata

End Sub

Private Sub Form_Load()
Text1.Text = "1-3,5,9-12"
End Sub

正则