我正在尝试查找给定字符串中是否存在该字符,但是尽管存在但无法搜索和递增值
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
答案 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