在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'
答案 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)
它肯定会起作用。