2017-09-19 7 views
1

これは私が持っているもので、最後の後に文字列の一部を削除しVBS「/」

Dim pathAfter 
pathAfter = "product/subproduct/item" 

私は達成するために何ができますこの? 私はRegExを試しましたが、それは容認できる解決策ではありません。

答えて

0

その時点件まで読んで最後/検索 - 1

pathAfter = left$(pathBefore, instrrev(pathBefore, "/") - 1) 
+1

$は無効な古代遺物です。 –

1

は、このコードを試してみてください。

Dim pathBefore, pathAfter, temp, i 
pathBefore = "product/subproduct/item/item" 
temp = Split(pathBefore,"/") 
For i=0 To UBound(temp)-1 
    pathAfter = pathAfter & temp(i) & "/" 
Next 
pathAfter = Left(pathAfter,Len(pathAfter)-1) 
MsgBox pathAfter 

出力:

enter image description here

+0

しないでください、より良い(より効率的に/より簡単に)代替があります。 –

+0

@ Ekkehard.Horner彼らから喜んで勉強します。これが私の心に来た最初の方法でした。 – Gurman

2

@Gurman:

>> s = "product/subproduct/item/item" 
>> a = Split(s, "/") 
>> ReDim Preserve a(UBound(a) - 1) 
>> WScript.Echo Join(a, "/") 
>> WScript.Echo goFS.GetParentFolderName(s) 
>> WScript.Echo Left(s, InstrRev(s, "/") - 1) 
>> 
product/subproduct/item 
product/subproduct/item 
product/subproduct/item 
+0

彼らは確かに良いです。ありがとう、この:) – Gurman