Solved

split

Posted on 2000-03-15
13
182 Views
Last Modified: 2010-05-02
How can I split a word up into seperate individual characters?

Key words here are "word" and "characters". Clinton would be:
c
l
i
n
t
o
n
0
Comment
Question by:pmaxon
  • 5
  • 5
  • 3
13 Comments
 
LVL 9

Expert Comment

by:Ruchi
Comment Utility
try ssomething like this
Private Sub Form_Load()
  Dim TestString
  Dim A() As String
  Dim I As Integer

  TestString = "William Jefferson Clinton"
  A = Split(TestString)

  For I = LBound(A) To UBound(A)
    MsgBox A(I)
  Next
  End
End Sub
0
 
LVL 14

Expert Comment

by:wsh2
Comment Utility
Ruchi:
"Try something like this".. <---- That's a definitive answer?.. Shame on you for locking this question down!!!
Now, lets just suppose the questioner does not have VB6.. and ergo NO split command.. what then? Don't me get wrong.. your answer is deserved and accurate in every way.. I just think it belongs as a comment.. and its merit left to the judgement of the questioner.. <smile>.
----------------------
A solution both VB5 / VB6 compatable.

<----- Code Begin ----->

Dim strInput as String
strInput = "This is a test"

Dim strChars() as String
Redim strChars(Len(strInput))

Dim lngIndex as Long
For lngIndex = 1 to Len(strInput)
   strChars(lngIndex - 1) = Mid$(strInput, lngIndex, 1)
Next lngIndex

<----- Code End ----->

Tada..

0
 
LVL 9

Expert Comment

by:Ruchi
Comment Utility
OK OK OK. Thanks, WSH2



If you have VB6 then you can use Split function

Private Sub Form_Load()
     Dim strString As String
    Dim arrWords As Variant
    Dim i As Integer

    strString = "FirstName MName LastName"
    arrWords = Split(strString, " ")
    For i = 0 To UBound(arrWords)
        MsgBox arrWords(i)
    Next

End Sub




If you have VB5 and earlier versions:


Private Sub Form_Load()
   Dim strString As String
    Dim arrWords() As String
    Dim i As Integer
     
    strString = "FirstName MName LastName"
    Do Until strString = ""
        ReDim Preserve arrWords(i)
        If InStr(strString, " ") > 0 Then
            arrWords(i) = Trim(Left(strString, InStr(strString, " ") - 1))
            strString = Mid(strString, InStr(strString, " ") + 1)
        Else
            arrWords(i) = Trim(strString)
            strString = ""
        End If
        i = i + 1
    Loop
     
    For i = 0 To UBound(arrWords)
        MsgBox arrWords(i)
    Next
     
End Sub
0
 
LVL 14

Expert Comment

by:wsh2
Comment Utility
Ruchi:
<tipping hat and bowing>.. and Thank YOU as well.. <smile>.

--------------------------------------
pmaxon writes: "How can I split a word up into seperate individual characters?"

Ruchi, questioner is asking how to parse the LETTERS in a word.. not the words themselves.. <smile>.

And a suggestion that I hope you may find useful.. with string variables and string functions such as Instr and Mid it is much more efficient to use the Instr$ and Mid$ forms of the functions (assuming you are NOT using Katanese or some other highly extended characterset.. which fortunately, most of us do not). WITHOUT the $ sign suffix, VB uses two bytes per character, WITH the $ suffix, VB only uses one.. which, as indicated earlier, is absolutely fine on almost all Western (civilization) style computers.. <smile>

Anyhow.. once again, Thank YOU very much for your comments.. I for one, am most appreciative of your thoughts.. keep them coming.. <smile>
0
 

Author Comment

by:pmaxon
Comment Utility
Edited text of question.
0
 

Author Comment

by:pmaxon
Comment Utility
Edited text of question.
0
Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

 

Author Comment

by:pmaxon
Comment Utility
Edited text of question.
0
 
LVL 9

Accepted Solution

by:
Ruchi earned 75 total points
Comment Utility
I have tested it!

Private Sub Form_Load()
  Dim TestString
  Dim b As String
  Dim I As Integer

  TestString = "William Jefferson Clinton"

  For I = 1 To Len(TestString)
  b = Mid$(TestString, I, 1)
    MsgBox b
  Next I
  End
End Sub
0
 
LVL 9

Expert Comment

by:Ruchi
Comment Utility
You can use debug.print instead of MsgBox. You will see
c
l
i
n
t
o
n
in the immediate window.
0
 

Author Comment

by:pmaxon
Comment Utility
Adjusted points from 50 to 75
0
 
LVL 9

Expert Comment

by:Ruchi
Comment Utility
Thank you very much, Pmaxon, for the points! I am glad that I could be of any help to you! Again, thanks.
0
 
LVL 14

Expert Comment

by:wsh2
Comment Utility
PSsssst.... a TIP.. test for Zero length strings before running, k?.. <smile> and a <wink>.

0
 

Author Comment

by:pmaxon
Comment Utility
Very good idea wsh2... And thank YOU Ruchi for the help!
0

Featured Post

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

Join & Write a Comment

I’ve seen a number of people looking for examples of how to access web services from VB6.  I’ve been using a test harness I built in VB6 (using many resources I found online) that I use for small projects to work out how to communicate with web serv…
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…
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…
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…

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