51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4310|回复: 24
打印 上一主题 下一主题

[原创] 【在线等待】怎样取这样的数据?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-1-12 16:47:09 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
总裁(CEO);决策一层(JCZ);人员支持科员(CTOO58896TEERL);孔 向(人员支持(露娜))

总裁(CEO);决策一层(JCZ);行政总监(FCZ);张 无忌(副总裁的职位名称。)

总裁(CEO);决策一层(JCZ);行政总监(FCZ);财务经理(CWC);财务处科员(CWY);杨 舒鑫

上面这三组数据,怎样取每个数据中的人名呢?请各位大侠指教一下,多谢!!!

[ 本帖最后由 zhengpeipei 于 2010-1-12 16:59 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

25#
发表于 2010-1-27 10:41:34 | 只看该作者

回复 12# 的帖子

这种方法很好的把匹配的思路在程序中描述出来了。 学习了。
更容易理解啊。
回复 支持 反对

使用道具 举报

该用户从未签到

24#
发表于 2010-1-26 17:53:59 | 只看该作者
原帖由 风雪夜归人 于 2010-1-26 17:42 发表
非也非也,你要用到的时候就知道print有多好用了。。。
举例一下,如果有3个case要调试,要输出错误信息,而且case运行时间比较长,比如1个小时,你不可能一直盯着屏幕看,这种情况下MsgBox就很不和谐了 ,用pr ...

有道理,呵呵,学习了!不过我在调试的时候都没碰到过很长时间的,最多也就10分钟,一般都是看着调试,分享自己写完脚本的愉快,呵呵,也到没想到这点,虽然以前也做过,把500条数据循环打出~看来我要重新把他找回来了,嘿嘿,备用备用
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2010-1-26 17:42:17 | 只看该作者

回复 22# 的帖子

非也非也,你要用到的时候就知道print有多好用了。。。
举例一下,如果有3个case要调试,要输出错误信息,而且case运行时间比较长,比如1个小时,你不可能一直盯着屏幕看,这种情况下MsgBox就很不和谐了 ,用print,你完全可以放心的去干任何事情。。
回复 支持 反对

使用道具 举报

该用户从未签到

22#
发表于 2010-1-26 17:17:00 | 只看该作者
原帖由 风雪夜归人 于 2010-1-26 15:25 发表

WScript.Echo  这个是vbscript的语句,换为msgbox或者print就可以了。。

呵呵,个人觉得PRINT是个多余的产物。。。。我把他重新封装成我自己写的函数了
回复 支持 反对

使用道具 举报

该用户从未签到

21#
发表于 2010-1-26 15:25:38 | 只看该作者
原帖由 feiyunkai 于 2010-1-22 17:02 发表
在QTP里运行你的脚本报错缺少WScript对象,保存为VBS文件也报错,错误的参数个数

WScript.Echo  这个是vbscript的语句,换为msgbox或者print就可以了。。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    无聊
    2015-12-2 10:12
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]测试排长

    20#
    发表于 2010-1-26 14:17:53 | 只看该作者
    值得学习!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2014-12-18 10:31
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    19#
    发表于 2010-1-22 17:02:34 | 只看该作者

    回复 13# 的帖子

    在QTP里运行你的脚本报错缺少WScript对象,保存为VBS文件也报错,错误的参数个数
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2010-1-15 09:13:42 | 只看该作者
    学习了,真长见识啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2010-1-13 18:17:23 | 只看该作者
    strReg = ".*;(.*)"

    $1 相当于满足 strReg 里面匹配到的第一个词,在这里就是 (.*)

    因为正则匹配是从后面来的,所以说,.*;就是匹配最后一个;后面的 如“孔 向(人员支持(露娜))”

    然后判断里面有无"(", 如果有,继续匹配,取出姓名
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2010-1-13 17:10:52 | 只看该作者
    你的那个$1就相当于"孔 向(人员支持(露娜))"么?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2010-1-13 16:50:39 | 只看该作者
    我试了好几次才弄成功,唉,老了。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2010-1-13 16:41:25 | 只看该作者

    回复 13# 的帖子

    原来还可以这样的..学习了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2010-1-13 15:35:42 | 只看该作者
    str1 = "总裁(CEO);决策一层(JCZ);人员支持科员(CTOO58896TEERL);孔 向(人员支持(露娜))"
    str2 = "总裁(CEO);决策一层(JCZ);行政总监(FCZ);张 无忌(副总裁的职位名称。)"
    str3 = "总裁(CEO);决策一层(JCZ);行政总监(FCZ);财务经理(CWC);财务处科员(CWY);杨 舒鑫"

    Set Re = New RegExp
    strReg = ".*;(.*)"

    WScript.Echo FindName(strReg, str1) '将str1换为你想要取姓名的字符串就可以了

    Set Re = Nothing

    Function FindName(strReg, strString)
            strReg2 = "(.*)\(.*"       
            Re.Pattern = strReg
            Re.Global = True       
            strName = Re.Replace(strString, "$1")

            If InStr(1, strName, "(", vbTextCompare) <> 0 Then
                    strName = FindName(strReg2, strName)
            End If               
            FindName = strName
    End Function

    什么也不说了,也没有可以多说的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2014-12-18 10:31
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    12#
    发表于 2010-1-13 14:59:32 | 只看该作者

    不用spilt函数获取字符中姓名的方法(自己写的,仅供学习交流)

    '以"总裁(CEO);决策一层(JCZ);人员支持科员(CTOO58896TEERL);孔 向(人员支持(露娜))"为例
    str="总裁(CEO);决策一层(JCZ);人员支持科员(CTOO58896TEERL);孔 向(人员支持(露娜))"
    Call  getname(str)                           
    Public function getname(str)
    strlength=len(str)                              '获取字符串str的长度
    str1length=InStrRev(str,";",strlength)             '取右边第一次出现分号的位置
    strname=mid(str,str1length+1,len(str))           '取从右边第一次出现分号后面的所有字符并将值赋给strname ,即:孔 向(人员支持(露娜))
    str2length=InStr(1,strname,"(")                  '取strname中第一次出现左括号的位置
    If str2length>0 Then                          '如果strname中存在左括号,则取左括号前面的字符,并弹出窗口显示该值
    getname=mid (strname,1,str2length-1)
    msgbox getname
    else                                     '如果strname中不存在左括号,则取整个字符,并弹出窗口显示该值
    getname=strname
    msgbox getname                 
    End If
    End Function

    'getname就是你想要的名字
    '.另外因为这里是测试交流论坛,所以在写的代码中最好加上详细的注释,这样才能让新人也很容易看懂

    [ 本帖最后由 feiyunkai 于 2010-1-13 15:06 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2010-1-13 13:50:52 | 只看该作者

    回复 10# 的帖子

    Array=split(a,“;”)
    i=ubound(Array)
    str=Array(i)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2010-1-13 13:43:38 | 只看该作者

    回复wugecat的帖子

    用Array=split(a,“;”)分割每个数据后怎样取出最后一个值?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2010-1-13 12:58:36 | 只看该作者
    不知道现在大剑的第二季出来了没有,漫画倒是早就有了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2010-1-13 10:29:13 | 只看该作者

    回复 7# 的帖子

    呵呵,是啊.....我很喜欢大剑
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2010-1-13 09:49:29 | 只看该作者
    wugecat的头象是大剑吗?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-16 04:35 , Processed in 0.087769 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表