Solved

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

Posted on 2010-08-12
7
290 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 500 total points
Comment Utility
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
Comment Utility
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
Comment Utility
dim tail as string
tail = mid("\"+YourString,Instrrev("\"+YourString,"\")+1)
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 17

Expert Comment

by:Zhaolai
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
Thanks it works fine. Thanks to everyone else who contributed.
0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
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…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

762 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now