vbscript如何在字符串中找到“ - ”并在新字符串中放置后面的字符?

时间:2009-11-24 11:39:30

标签: vbscript

我正在使用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。

感谢您的帮助。

3 个答案:

答案 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,"-"))