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 関数は、文字列を配列に分割します。以下を使用します。

Split("Microsoft Windows 7 Professional |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 に答える