军临城下 发表于 2008-9-2 16:03:20

怎样截取一段字符中间的数字?

怎样截取一段字符中间的数字?例如:
innertext:=共21条,/11页
我只要获取11这个数字

但当innertext:=共15条,/5页的时候
我只要获取5这个数字


请问论坛的XDJM,这个应该怎么样去处理呢?

lingxin5013 发表于 2008-9-2 16:28:40

Str="innertext:=共21条,/11页 "
arr=split(Str,"/")
arr1=split(arr(1),"页")
msgbox arr1(0)
 自己运行看结果吧! 希望对你帮助

happychap 发表于 2008-9-2 16:32:00

lingxin5013的做法应该是对的,哈哈。

centurystone 发表于 2008-9-2 16:38:37

lingxin5013的做法应该是对的

军临城下 发表于 2008-9-2 16:57:37

谢谢lingxin5013这位朋友啦!呵呵
你的思路很清晰,处理的很好哦!
我刚开始以为要用一个正则表达式来写,晕啊!

lingxin5013 发表于 2008-9-2 16:58:52

不谢  共同学习 共同提高

gjay1688 发表于 2008-9-2 17:00:42

貌似可以直接用函数...

军临城下 发表于 2008-9-2 17:01:37

这个地方用split来实现确实很方便啊~呵呵。。。

dabie 发表于 2008-9-2 17:30:07

还未了解QTP,刚开始看,问个问题:qtp中没有mid吗,splite都有

hsjzfling 发表于 2008-9-2 18:53:27

原帖由 军临城下 于 2008-9-2 16:57 发表 http://bbs.51testing.com/images/common/back.gif
谢谢lingxin5013这位朋友啦!呵呵
你的思路很清晰,处理的很好哦!
我刚开始以为要用一个正则表达式来写,晕啊!

用正则表达式来写思路也很正确啊,Copy下帮助中的代码,稍微改一点点就行了
只要去取字符串中的第二个数字就可以了,只要简单的这样写就行咯

WScript.Echo RegExpTest("\d+","innertext:=共21条,/11页")

Function RegExpTest(patrn, strng)
Dim regEx, Match, Matches      ' 建立变量。
Set regEx = New RegExp         ' 建立正则表达式。
regEx.Pattern = patrn         ' 设置模式。
regEx.IgnoreCase = True         ' 设置是否区分字符大小写。
regEx.Global = True         ' 设置全局可用性。
Set Matches = regEx.Execute(strng)   ' 执行搜索。
RegExpTest = Matches(1)    '取匹配到的第二个值
End Function

maguschen 发表于 2008-9-2 19:07:47

另一种做法~

Str="innertext:=共21条,/11页 "
slashPosition = InStr (str,"/")
yePosition = InStr (str,"页")
number = Mid(str,slashPosition+1,yePosition-slashPosition-1)
MsgBox number

:)

lingxin5013 发表于 2008-9-3 09:25:10

原帖由 dabie 于 2008-9-2 17:30 发表 http://bbs.51testing.com/images/common/back.gif
还未了解QTP,刚开始看,问个问题:qtp中没有mid吗,splite都有


当然支持mid 你可以在QTP看帮助文档

dabie 发表于 2008-9-3 11:14:34

谢谢楼上.
页: [1]
查看完整版本: 怎样截取一段字符中间的数字?