字符串是SilkTest中最常用的数据类型之一,所以掌握对它的各种操作非常重要。
1.GetField()
该函数返回一个字符串中的一个段,即被某些字符分割开的一个子串。其函数原型为:
sSegment = GetField (sString, sDelim, iField)
其中sSegment是类型为string的返回值,sString是所要操作的字串,类型为string。sDelim是分割符号,可以是字符也可以是字符串。iField是返回的段序号。
如果没有找到相应的段,该函数返回空串“”。下面是该函数的一个例子:
STRING sData = “name|rank|serial#”
Print (GetField (sData, “|”, 1) ) // 打印: name
Print (GetField (sData, “|”, 3) ) // 打印: serial#
Print (GetField (sData, “|”, 4) ) // 打印:
2.IsAlpha()
该函数判断一个字符串的第一个字符是否是字母。其函数原型为:
bTest = IsAlpha (sString)
bTest是返回值,当第一个字符是字母时返回TRUE,其类型为Boolean。sString是测试的字符串,类型为string。
注意,该函数仅仅当被测字符串的第一个字符是ASCII字母时(a~z,A~Z)返回TRUE,其他情况都返回FALSE。下面是一个例子:
Print (IsAlpha (“hello”)) // 打印: TRUE
Print (IsAlpha (“123”)) // 打印: FALSE
3.IsDigit()
该函数用来判断是否一个字串的第一个字符是数字(0~9),其函数原型为:
bTest = IsDigit (sString)
bTest是返回值,数据类型为Boolean。sString是待测的字符串,类型为string.
下面是一个该函数的使用范例:
Print (IsDigit (“123”)) // 打印: TRUE
Print (IsDigit (“hello”)) // 打印: FALSE
4.IsSpace()
测试一个字符串的第一个字符是否是空白字符。其函数原型如下:
bTest = IsSpace (sString)
其中bTest是结果值,为boolean类型,sString是待测字符串,类型为string。
下面是一个例子:
Print (IsSpace (” hello”)) // 打印: TRUE
Print (IsSpace (“world”)) // 打印: FALSE
5.Left()
该函数返回一个字符串从最左边开始的指定长度的字符串。其函数原型是:
sSubstring = Left (sString, iNumChars)
其中sSubstring是返回值,为string类型。sString是待测字符串,类型为string,iNumChars是指定的字符串长度,类型为integer。
注意,如果iNumChars是0,Left函数将会返回一个空字符串“”,如果iNumChars比待测字符串sString的总长度长,Left将会返回sString。如果iNumChars是一个负数,系统将抛出一个异常。下面是一个例子:
STRING s = “Borland Software”
Print (Left (s, 7)) // 打印: Borland
Print (Left (s, 20)) // 打印: Borland Software
6.Len()
该函数返回一个字符串的长度。其函数原型为:iLength = Len(sString),很简单,我就不介绍了。
7.Ltrim()
该函数将去除一个字符串最左边的所有空白字符。其函数原型为sStripped = Ltrim (sToStrip)
如果sToString是一个空字串“”,或者只包含空白符号,Ltrim将会返回一个空字串。
注意,空白符号包括空格,水平制表符,垂直制表符,回车,换行,进纸符。如果sToStrip不以空白符号开头,Ltrim将会返回sToStrip。下面是一个该函数的使用例子:
STRING s = ” Has whitespace “
Print( “>{LTrim (s)}<“) // 打印: >Has whitespace <
8.MatchStr()
该函数在一个字符串中寻找特定的模式是否存在。其函数原型是:
bFound = MatchStr (sPattern, sString)
其中bFound是返回值,仅当指定模式找到了,就返回TRUE,类型是boolean。sPattern是想要寻找的字符串模式,类型是string。sString是待查找字符串,类型是string。
注意,该函数是大小写不敏感的。也就是说,它不区分大小写。因此,下面的表达式将返回TRUE。
MatchStr (“*HELLO*”, “hi hello there”)
9.Right()
类似Left(), 请参考Left和帮助文件.
10.Rtrim()
类似Ltrim(),请参考Ltrim和帮助文件。
11.Space()
该函数返回一个指定数量的空格组成的字符串。其原型为: sSpaces = Space(iCount)
其中sSpaces是返回的字符串,类型为STRING.
iCount是想要产生的空格的数量,类型为INTEGER.
例如rint(“12345”+Space(10)+”67890”)
其打印结果为: 12345 67890
12.StrPos()
该函数返回指定子串的位置。其函数原型是:
iPos = StrPos(sSubstr, sTarget , [bBackward])
其中iPos是返回的位置,类型为INTEGER。sSubstr是要查找的子串值,类型为STRING。sTarget是目标字符串,类型是STRING。bBackward,可选参数,如果为TRUE,从后往前搜,否则从前往后搜。
一个例子:
STRING s = “now is the time for all the good men”
Print(StrPos(“the”, s))
结果将打印:8
13.strTran()
该函数将在一个字符串中执行查找替换操作。其函数原型是:
sChanged = StrTran(sOrig, sSearch, sReplace)
其中sChanged是返回的结果串,sOrig是被查找的字符串,sSearch是查找的子串,sReplace是用来替换的串,以上参数类型都为STRING。
一个例子:
STRING s = “one and two and three”
Print(StrTran(s, “and”, “&”)
将会打印: one & two & three
14.Stuff()
该函数用来插入或者删除字符。其函数原型是:
sChanged = Stuff (sOrig, iPos, iLen, sReplace)
其中,sChanged 是返回的字符串,类型为STRING. sOrig是将进行插入或者删除操作的字符串,类型为STRING。iPos是进行操作的位置,类型为INTEGER。iLen表示需要删除的字符个数,类型为INTEGER。sReplace是将要插入的字符串,类型为STRING。
一个例子:
STRING s = “hello there”
Print(Stuff(s, 7, 0, “out ”)
Print(Stuff(s, 7, 5, “world”)
输出结果为:
hello out there
hello world
15.SubStr()
该函数返回一个子串。其函数原型为:
sSubString = SubStr(sString, iPos, [iLen])
其中,sSubString是返回值,类型为STRING. sString是进行操作的字符串,类型为STRING. iPos是开始返回的位置,类型为INTEGER. iLen是可选项,是需要返回的字符串的长度,类型为INTEGER, 如果没有指定该参数,那么将返回iPos其后的所有字符。
下面是一个例子:
STRING sText = “How much is it”
STRING sItem = SubStr(sText, 5, 4)
Print(sItem)
输出结果为: much
16.Tabs()
该函数类似于Space(),返回指定数量的tab。其函数原型为:
sTabs = Tabs(iAmount)
其中sTabs是返回的字符串,类型为STRING. iAmount是tab的个数,类型为INTEGER
17.Trim()
将给定字符串前后的所有空格都去掉,其函数原型为sStripped = Trim(sToStrip),就不详细讲解了,请参考Ltrim,Rtrim和帮助文件。