无法使用VBScript搜索给定字符串中的字符?

时间:2018-11-25 06:25:23

标签: vbscript

我正在尝试查找给定字符串中是否存在该字符,但是尽管存在但无法搜索和递增值

  Dim testchar,noOfSpecialChar
   noOfSpecialChar=0

Dim specialChars
specialChars="*[@.^$|?#*+!)(_=-]."
 for lngIndex = 1 to Len("test@123")
    testchar = mid("test@123",lngIndex,1)
    if((InStr(specialChars,testchar))) then
        noOfSpecialChar=noOfSpecialChar+1
end if  
next

1 个答案:

答案 0 :(得分:2)

这里的问题是InStr(),突出显示为in the documentation

  

返回一个字符串在另一个字符串中首次出现的位置。

我们可以使用此知识通过检查InStr()的返回值大于0来创建布尔比较。

Dim testString: testString = "test@123"
Dim testchar, foundChar
Dim noOfSpecialChar: noOfSpecialChar = 0
Dim specialChars: specialChars = "*[@.^$|?#*+!)(_=-]."

For lngIndex = 1 To Len(testString)
  testchar = Mid(testString, lngIndex, 1)
  'Do we find the character in the search string?
  foundChar = (InStr(specialChars, testchar) > 0)
  If foundChar Then noOfSpecialChar = noOfSpecialChar + 1   
Next