Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Parse out a string

Status
Not open for further replies.

huobaji

Technical User
Sep 20, 2010
23
0
0
US
Can anyone help me with this?
I'm trying to parse out this String into variables. I'm assuming I would have to loop through the string.

Here is the string but this string would always be different.
So every time there is a "-" strip the data out and when there is a "," it would loop and strip those out

example String

Example130-Your Analysis Bus-0.00-W-20032,Help130-My Analysis Aug-0.33-C-20052

example results
Example130
Your Analysis Bus
0.00
W
20032

loop again

example results
Help130
My Analysis Aug
0.33
C
20052


 
Code:
<%
c = "Example130-Your Analysis Bus-0.00-W-20032,Help130-My Analysis Aug-0.33-C-20052"

a = split(c,"-")
for i = 0 to ubound(a)
 response.Write a(i) & "<br>"
next
%>
 
sorry, now i see the , in that string.
so there is an outer loop for that code, in which you do a left( string, "comma position")

you find that (1st) "comma position" by using the InStr function.
 
When I run the code I get this
Response object error 'ASP 0106 : 80020005'

Type Mismatch

An unhandled data type was encountered.
 
superstrange, it works on my box.
i modified it a little to show you the string manipulation:
Code:
<%

cTheString = "Example130-Your Analysis Bus-0.00-W-20032,Help130-My Analysis Aug-0.33-C-20052"
response.Write cTheString
 
do while cTheString <> ""
 'Where is the first comma?
 
 nComma = instr(cTheString, ",")
 if nComma = 0 then
  cSub = cTheString
  cTheString = ""   ' will exit the loop
 else
  cSub = left(cTheString, nComma-1)
  cTheString = mid(cTheString, nComma+1)  
 end if
 response.Write "<hr>"
 a = split(cSub,"-")
 for i = 0 to ubound(a)
  response.Write a(i) & "<br>"
 next

loop
%>
 
you could do a replace and split all by -...however, splitting may be a moot point if you cannot guarantee 'needed' dashes or commas in the string...therefore a regular expression may help

Code:
<%
  s = Replace("Example130-Your Analysis Bus-0.00-W-20032,Help130-My Analysis Aug-0.33-C-20052",",","-")
  a = Split(s,"-")

  For i = 0 to UBound(a)

   Execute("Var" & i & "=a(i)")
   Response.Write a(i) & "<br>"
  Next

  response.write Var1 & " " & Var2 ' ...
%>
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top