51Testing软件测试论坛

标题: 怎样截取一段字符中间的数字? [打印本页]

作者: 军临城下    时间: 2008-9-2 16:03
标题: 怎样截取一段字符中间的数字?
怎样截取一段字符中间的数字?例如:
innertext:=共21条,/11页
我只要获取11这个数字

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


请问论坛的XDJM,这个应该怎么样去处理呢?
作者: lingxin5013    时间: 2008-9-2 16:28
Str="innertext:=共21条,/11页 "
arr=split(Str,"/")
arr1=split(arr(1),"页")
msgbox arr1(0)
 自己运行看结果吧! 希望对你帮助
作者: happychap    时间: 2008-9-2 16:32
lingxin5013的做法应该是对的,哈哈。
作者: centurystone    时间: 2008-9-2 16:38
lingxin5013的做法应该是对的
作者: 军临城下    时间: 2008-9-2 16:57
谢谢lingxin5013这位朋友啦!呵呵
你的思路很清晰,处理的很好哦!
我刚开始以为要用一个正则表达式来写,晕啊!
作者: lingxin5013    时间: 2008-9-2 16:58
不谢  共同学习 共同提高
作者: gjay1688    时间: 2008-9-2 17:00
貌似可以直接用函数...
作者: 军临城下    时间: 2008-9-2 17:01
这个地方用split来实现确实很方便啊~呵呵。。。
作者: dabie    时间: 2008-9-2 17:30
还未了解QTP,刚开始看,问个问题:qtp中没有mid吗,splite都有
作者: hsjzfling    时间: 2008-9-2 18:53
原帖由 军临城下 于 2008-9-2 16:57 发表
谢谢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
另一种做法~

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
原帖由 dabie 于 2008-9-2 17:30 发表
还未了解QTP,刚开始看,问个问题:qtp中没有mid吗,splite都有



当然支持mid 你可以在QTP看帮助文档
作者: dabie    时间: 2008-9-3 11:14
谢谢楼上.




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2