2

在 VBScript 我有一个字符串 "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'

4

2 回答 2

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))
于 2012-10-31T19:32:17.807 回答
0

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

Split("Microsoft Windows 7 专业版 |C:\Windows|\Device\Harddisk0\Partition1", "|", "-1", "-1")(0)

如果你觉得有点尴尬,你可以使用:

昏暗的

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

myStr = arr(0)

它肯定会起作用。

于 2012-11-01T02:38:59.400 回答