[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
?
Solved

Extracting a string that is separated by commas

Posted on 2003-11-27
9
Medium Priority
?
533 Views
Last Modified: 2010-08-05
Hi,

I have this string that contain items, and each item is separated by a comma.
For example:
software, hardware, mouse, keyboard, etc.

What I want to do is to extract each of those words out and assign it to another variable, so that the new variable will end up storing: software,hardware,mouse,keyboard,etc.
I know I'm suppose to use the instr() and mid() but I'm stuck on the looping part, like going through the whole string and extracting it.

My main purpose for this is to put that new variable that stores the string without the space after the commas into a hidden text box, so mainly I'm extracting the words from the string is to take out the spaces.  Am I going through the right approach or there's another way of doing this?

Thank you in advance.

0
Comment
Question by:famtrad
[X]
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
9 Comments
 
LVL 24

Expert Comment

by:R_Rajesh
ID: 9831516
Hi famtrad,

use the split function

aa = "software, hardware, mouse, keyboard"
t = Split(aa, ",")
For z = 0 To UBound(t)
MsgBox t(z)
Next z

Cheers!

Raj
0
 
LVL 10

Expert Comment

by:ADSaunders
ID: 9831559
Hi famtrad,
You can split a string into an array:
dim MyArray() as string ' dynamic array, don't specify the no of elements
MyArray = split(liststring, ",")   ' that in quotes is the list separator

then you can loop through the array to handle each element
dim i as integer
for i = 0 to Ubound(MyArray) - 1     ' by default array bounds start at 0
     DoSomethingWith MyArray(i)
next

Regards .. Alan
0
 
LVL 3

Expert Comment

by:gajendra
ID: 9831562
I was about to write the loop using instr() ...
but R_Rajesh has sure refreshed my memory about a function that I have not used for a long time.
Thanks R_Rajesh - that was cool.

Gajendra
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 24

Expert Comment

by:R_Rajesh
ID: 9831575
famtrad,
if you are simply removing the spaces then try this

aa = "software, hardware, mouse, keyboard"
t = Split(aa, ",")
For z = 0 To UBound(t)
newaa = newaa & Trim(t(z)) & IIf(z <> UBound(t), ",", "")
Next z
MsgBox newaa

Rajesh
0
 

Author Comment

by:famtrad
ID: 9831630
Hi,

I'm assuming I can use these codes as vbscript since they are pretty similar.

Raj:
Since you putted it in a msgbox, I can convert that msgbox into a variable right, so can I do it like this?
---
aa = "software, hardware, mouse, keyboard"
t = Split(aa, ",")
For z = 0 To UBound(t)
   item = t(z)
Next z
---
and then put it in a hidden text like this?
---
<input type="hidden" value="<%=item%>">
---
will that work?  That will give me all the items correct?  Not just one right?
       
0
 
LVL 24

Expert Comment

by:R_Rajesh
ID: 9831690
aa = "software, hardware, mouse, keyboard"
t = Split(aa, ",")
For z = 0 To UBound(t)
newaa = newaa & Trim(t(z)) & IIf(z <> UBound(t), ",", "")
Next z

here the variable newaa will contain all the items munus the spaces
0
 
LVL 28

Expert Comment

by:vinnyd79
ID: 9831845
To remove the spaces,just use Replace:

aa = "software, hardware, mouse, keyboard"
aa = Replace(aa," ","")



0
 
LVL 14

Accepted Solution

by:
aelatik earned 500 total points
ID: 9832944
<%
    Dim buffer, item
        buffer = "software,hardware,mouse,keyboard"
    For Each item In Split(buffer, ",")
        Response.write("<input type='hidden' value='" & item & "'>"
    Next
%>
0
 

Author Comment

by:famtrad
ID: 9833051
Thank you all for helping me out.
Raj:
I've tried your way but it always gives me syntax error and I've tried debugging it but still does not work but thanks for helping though.

I've tried other ways that were posted but only aelatik solution works so I'm giving my points to him.  Thanks Aelatik.

Also thank you all for helping.
0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

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

Introduction While answering a recent question (http://www.experts-exchange.com/Q_27402310.html) in the VB classic zone, I wrote some VB code in the (Office) VBA environment, rather than fire up my older PC.  I didn't post completely correct code o…
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…
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…
Suggested Courses

649 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