我正在使用vbscript,如何在字符串中找到连字符“ - ”并在新字符串中放置后面的字符?
基本上我的电脑名称以房号
结尾PC1-3(3号房间),PC1-4(房间4)等
我正在使用
Dim roomArray(2)
roomArray = Array("-1", "-2", "-3")
Dim item
For each item in roomArray
If instr(strComputerName, item)
..do something
End If
Next
但由于房间-33包含“-3”等,我得到误报所以如果我在字符串中找到“ - ”并将后面的字符放入字符串中我可以检查完整字符串而不是使用INSTR。
感谢您的帮助。
答案 0 :(得分:2)
这将获得最后一个连字符后面的所有文字:
Function GetRoomNumber(strComputerName)
Dim hyphenIndex
hyphenIndex = InStrRev(strComputerName, "-")
If hyphenIndex > 0 Then
GetRoomNumber = Mid(strComputerName, hyphenIndex+1)
End If
End Function
您的示例中的用法将是:
Dim roomArray(2)
roomArray = Array("-1", "-2", "-3")
Dim item, index
For index = LBound(roomArray) To UBound(roomArray)
item = roomArray(index)
If ("-" & GetRoomNumber(strComputerName)) = item Then
..do something
End If
Next
或者是短版本(没有用数据验证定义函数):
...
If Mid(strComputerName, InStrRev(strComputerName, "-") ) = item Then
...
答案 1 :(得分:1)
您需要检查strComputerName是否以dash-roomNumber结尾。
if Right(strComputerName,Len(item))=item Then...
答案 2 :(得分:1)
你可以使用right和instr来检索这个
dim s
s = "PC1-3 (room 3)"
msgbox right(s, len(s) - instr(s,"-"))