请先看题。
下面三个句子都是字符串:
I am in class(1),what about you?
I am in class(10),what about you?
I am in class(100),what about you?谁能用一种通用的方法获取括号中的数字。也就是说,你只要考虑如何获取1或10或100(是或的关系),并且可以保证获取的是整型(integer的就行)[也就是存入到一个变量中是整型数据]数据。注意:是从字符串中得到整型数据。
谁的方法最简单,可靠性最强。谁就是得分者。
下面三个句子都是字符串:
I am in class(1),what about you?
I am in class(10),what about you?
I am in class(100),what about you?谁能用一种通用的方法获取括号中的数字。也就是说,你只要考虑如何获取1或10或100(是或的关系),并且可以保证获取的是整型(integer的就行)[也就是存入到一个变量中是整型数据]数据。注意:是从字符串中得到整型数据。
谁的方法最简单,可靠性最强。谁就是得分者。
解决方案 »
- 求解决方法!多谢大家!
- 是IT人都应该看的(外包)
- treeview.selectedintem.index属性--在线等待
- 怎样才能最快的获得本科学历!
- evb是什么?以前没听到过,请告知,谢
- 用vb写excel文件时出错,求帮助!(急!)
- 关于控件数组,急,急,急!!!!
- ★★VB6将XML数据传入TreeView_麻烦热心人帮我看看问题出在哪?
- 谁知道以前那个《阿猫阿狗》的动画图标,是怎么做的吗??
- 菜鸟的疑问:基于vb的ADO控件进行数据库编程和基于VB中的createobject建立对象(如ADODB.CONNECTION,ADODB.Recordset等等)进行数据库编程,有何大的性能区别?
- 有没有办法获取到页面中的<span>里面的值?送200分
- 急求:vb对象库未注册这样解决??
i=CInt(Replace(Replace("I am in class(100),what about you?", "I am in class(", ""), "),what about you?", ""))
GetVal=Val(Mid(strTmp, InStr(strTmp, "(") + 1))
end function
Dim s(0 To 8) As String
Dim Number As Long
s(0) = "I am in class(1),what about you?"
s(1) = "I am in class(10),what about you?"
s(2) = "I am in class(100),what about you?"
s(3) = "I am in class(),what about you?"
s(4) = "I am in class(X),what about you?"
s(5) = "I am in class(,what about you?"
s(6) = "I am in class),what about you?"
s(7) = "I am in class,what about you?"
If getnumber(s(0), Number) = True Then Debug.Print Number Else Debug.Print "ERR"
If getnumber(s(1), Number) = True Then Debug.Print Number Else Debug.Print "ERR"
If getnumber(s(2), Number) = True Then Debug.Print Number Else Debug.Print "ERR"
If getnumber(s(3), Number) = True Then Debug.Print Number Else Debug.Print "ERR"
If getnumber(s(4), Number) = True Then Debug.Print Number Else Debug.Print "ERR"
If getnumber(s(5), Number) = True Then Debug.Print Number Else Debug.Print "ERR"
If getnumber(s(6), Number) = True Then Debug.Print Number Else Debug.Print "ERR"
If getnumber(s(7), Number) = True Then Debug.Print Number Else Debug.Print "ERR"
End SubFunction getnumber(ByVal s As String, ByRef Number As Long) As Boolean
Dim sTemp As String
Dim Pos As Long
Pos = InStr(s, "(")
If Pos = 0 Then GoTo ErrTrap
sTemp = Mid(s, Pos + 1)
If sTemp = "" Then GoTo ErrTrap
If IsNumeric(Left(sTemp, 1)) = False Then GoTo ErrTrap
Number = Val(sTemp)
getnumber = True
Exit Function
ErrTrap:
getnumber = False
End Function
Dim str As String
Dim i As Integer
For i = 1 To Len(str)
If IsNumeric(Mid(str, i, 1)) Then text1.Text = text1.Text & Mid(str, i, 1)
Next
End Sub
1
10
100
ERR
ERR
ERR
ERR
ERR
然后用Mid函数截取
'先引用Microsoft VBScript Regular Expressions
Dim re As New RegExp
re.IgnoreCase = True
re.Global = True
're.Pattern = "I am in class(),what about you"
re.Pattern = "I am in class[(]"
Text1.Text = re.Replace(Text1.Text, "")
re.Pattern = "[)],what about you[?]"
Text1.Text = re.Replace(Text1.Text, "")