?
Solved

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

Posted on 2010-08-12
7
Medium Priority
?
307 Views
Last Modified: 2013-12-26
Hi

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
Thanks
0
Comment
Question by:eneate
7 Comments
 
LVL 29

Accepted Solution

by:
nffvrxqgrcfqvvc earned 2000 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
myString="c:\eat\more\ziti"
args()=Split(mystring,"\")
for i = lbound(args) to ubound(args)
debug.print args(i)
next i

Open in new window

0
 
LVL 29

Expert Comment

by:nffvrxqgrcfqvvc
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

0
 
LVL 42

Expert Comment

by:dqmq
ID: 33423037
dim tail as string
tail = mid("\"+YourString,Instrrev("\"+YourString,"\")+1)
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
LVL 17

Expert Comment

by:Zhaolai
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

0
 
LVL 76

Expert Comment

by:GrahamSkan
ID: 33423099
Alternatively:


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

0
 
LVL 5

Expert Comment

by:Leithauser
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 \.
 
0
 

Author Closing Comment

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

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

When designing a form there are several BorderStyles to choose from, all of which can be classified as either 'Fixed' or 'Sizable' and I'd guess that 'Fixed Single' or one of the other fixed types is the most popular choice. I assume it's the most p…
Article by: Martin
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…
Suggested Courses

840 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