Search code examples
vb6substringslice

(VB6) Slicing a string before a certain point


Suppose I have a variable set to the path of an image.

Let img = "C:\Users\Example\Desktop\Test\Stuff\Icons\test.jpg"

I want to slice everything before "\Icons" using Vb6. So after slicing the string it would be "\Icons\test.jpg" only.

I have tried fiddling with the Mid$ function in VB6, but I haven't really had much success. I am aware of the fact that Substring isn't a function available in vb6, but in vb.net only.


Solution

  • After the first \icons

    path = "C:\Users\Example\Desktop\Test\Stuff\Icons\test.jpg"
    
    ?mid$(path, instr(1, path, "\icons\", vbTextCompare))
    
    >  \Icons\test.jpg
    

    Or after the last should there be > 1

    path = "C:\Users\Example\Desktop\Test\Icons\Stuff\Icons\test.jpg"
    
    ?right$(path, len(path) - InStrRev(path, "\icons\", -1, vbTextCompare) + 1)
    
    >  \Icons\test.jpg