how do i split a string to get the text after the last \ symbol - vb6

Posted on 2010-08-12
Last Modified: 2013-12-26

Usinf vb 6 how would i split a string that looked like c:\test\ghtf\jsjghdj to get all of the text after the last \ symbol. The length of the string and the number of these strings could vary
Question by:eneate
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 29

Accepted Solution

nffvrxqgrcfqvvc earned 500 total points
ID: 33422655
You can try below example. If you want to skip the root drive start enumeration at the first element instead of zero.
dim myString as string
dim args() as string
dim i as long
for i = lbound(args) to ubound(args)
debug.print args(i)
next i

Open in new window

LVL 29

Expert Comment

ID: 33422700
Missed the last element only in your question. To get the last element you can use the following.

Debug.Print args(UBound(args))

Open in new window

LVL 42

Expert Comment

ID: 33423037
dim tail as string
tail = mid("\"+YourString,Instrrev("\"+YourString,"\")+1)
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 17

Expert Comment

ID: 33423038
Try this:

    Dim str1 As String
    Dim str2 As String
    str1 = "c:\test\ghtf\jsjghdj"
    str2 = StrReverse(str1)
    str2 = StrReverse(Left(str2, InStr(1, str2, "\") - 1))

Open in new window

LVL 76

Expert Comment

ID: 33423099

Dim strText As String
Dim p As Integer
Dim strLastBit As String

strText = "c:\test\ghtf\jsjghdj"
p = InStrRev(strText, "\")
strLastBit = Mid$(strText, p + 1)

Open in new window


Expert Comment

ID: 33423292
Looks like some good solutions. The way I do it is
For X = Len(S) to 1 Step -1
    If Mid$(S,X,1) = "\" Then
        P = X
        Exit For
    End if
Next X
E = Mid$(S, P + 1)
where S is your initial string, X and P are intergers, and E is a string to hold the end of S after the \.

Author Closing Comment

ID: 33423625
Thanks it works fine. Thanks to everyone else who contributed.

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Macro: print each sheet to pdf using ExportAsFixedFormat 11 70
VBA: Select SQL query based on a config Sheet v2 11 55
Advice in Xamarin 21 120
Send outlook email from VBS Script 2 67
Introduction I needed to skip over some file processing within a For...Next loop in some old production code and wished that VB (classic) had a statement that would drop down to the end of the current iteration, bypassing the statements that were c…
This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question