51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1259|回复: 4
打印 上一主题 下一主题

[原创] QTP中对textstream的操作

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-10-23 00:14:42 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
想要脚本实现以下的功能:找到文本中以abcd开头的长度为n的字符串,并且将其删除。

请各位大侠指点!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    5#
    发表于 2012-10-25 09:33:05 | 只看该作者
    回复 1# alex_topgun


        需要这么麻烦么?
    每个判断下是否符合条件应该就行了吧。如:   
    str = "abcde123456789"
    if Len(str) = n and left(str,5) = "abcde" Then
         '删除动作
    End if
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2012-10-24 09:16:47 | 只看该作者
    你看下,如果有错误的地方自己修改一下

    1. str = "abcd1234567890abcdjgls3213212321aab3213212cdabcdabcdsabcdabcd"
    2. WScript.Echo MoveStr(str,"abcd",8,0)
    3. '函数功能:删除制定字符后的N位字符(不足N位,就有几位删几位)
    4. 'Input:strExp-待修改字符串;strDelimiter-分隔符;strMoveLen-删除位数
    5. 'output:更新后的字符串
    6. Function MoveStr(byval strExp,byval strDelimiter,byval strMoveLen,byval blnContain)
    7.     Dim strArr
    8. '   使用分隔符strDelimiter分解文本strExp
    9.     strArr = Split(strExp,strDelimiter)
    10.    
    11.     Dim resDelimiter
    12.     If blnContain Then
    13.         resDelimiter = ""
    14.     Else
    15.         resDelimiter = strDelimiter
    16.     End If
    17.    
    18.     Dim i
    19.     For i = 0 To UBound(strArr)
    20. '       更新取被分解的数组元素str,删除N位之后的字符串
    21.         strArr(i) = Mid(strArr(i),strMoveLen+1-Len(strDelimiter),Len(strArr(i)))
    22.     Next
    23. '    重新使用原来的分隔符组合该串
    24.     MoveStr = Join(strArr,resDelimiter)
    25. End Function
    复制代码
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2012-10-23 23:27:27 | 只看该作者
    回复 2# xjwldlover


        能否把详细的函数应该如何使用帮忙写一下。

      是不是arr就是"abcd",split(exp,delimeter)里的exp又应该是什么?delimeter就是n的值吗?join(arr)又应该如何使用?

      另外把这个以"abcd"开头的长度为n的字符串从文本文件中删除应该如何实现?

       在此之前,我定义了如下一些对象:
      Dim FS, File1, File1Path
       File1Path = "C:/aa.txt"
       Set FS = CreateObject(File.System.Scripting)
       Set File1 = FS.GetFile(File1Path).OpenAsTextStream
       目的就是为了实现在File1里找到以"abcd"开头的长度为n的字符串,并且将其删除。这个字符串的特点是以abcd开头且长度为n,但是abcd之后的其余字符在每次文本文件生成后是变化的,不是固定的。

      非常感谢!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
    发表于 2012-10-23 09:28:17 | 只看该作者
    使用split(exp,delimiter)分割textStream(arr),然后将分割的字符头去掉n位(不足N的,和text开头、结尾是abcd的需要考虑),然后join(arr)字符
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-16 21:37 , Processed in 0.070660 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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