如何删除此字符串的右侧?

时间:2012-10-31 19:10:13

标签: vbscript

在VBScript中我有一个String "Microsoft Windows 7 Professional |C:\Windows|\Device\Harddisk0\Partition1"

生成此内容时,我只想要"Microsoft Windows 7 Professional"。有没有办法可以使用"|"作为分隔符并从字符串中删除所有内容(包括它)?

编辑:

我尝试使用Left,这是我的代码示例

For Each objOperatingSystem in colItems
   strOSName = Left(objOperatingSystem.name,InStr("|"))
Next

我收到错误,

  

错误的参数数量或无效的属性分配:' InStr'

2 个答案:

答案 0 :(得分:4)

正确的语法是:

strOSName = TRIM(Left(objOperatingSystem.name,InStr(objOperatingSystem.name,"|")-1))

为安全起见,您可以尝试

if InStr(objOperatingSystem.name,"|") then
    strOSName = TRIM(Left(objOperatingSystem.name,InStr(objOperatingSystem.name,"|")-1))
end if

仅仅因为,这是另一种方法:

dim yourString
dim anArray
dim strOSName 
yourString = "Microsoft Windows 7 Professional |C:\Windows|\Device\Harddisk0\Partition1"
anArray = Split(yourString,"|")
strOSName = TRIM(anArray(0))

答案 1 :(得分:0)

您也可以在vbscript中使用Split函数将字符串拆分为特殊字符。 Split函数将字符串分解为数组。使用以下内容:

拆分(“Microsoft Windows 7专业版| C:\ Windows | \ Device \ Harddisk0 \ Partition1”,“|”,“ - 1”,“ - 1”)(0)

如果你发现它有点尴尬,你可以使用:

dim arr

arr = Split(“Microsoft Windows 7 Professional | C:\ Windows | \ Device \ Harddisk0 \ Partition1”,“|”,“ - 1”,“ - 1”)

myStr = arr(0)

它肯定会起作用。