Results 1 to 2 of 2

Thread: retrieving single values from a string

  1. #1

    Thread Starter
    Member
    Join Date
    May 2000
    Location
    London, UK
    Posts
    39

    Cool

    The code below should separate the values as follows:-



    name is [res], value is [map is 0s2000.map]
    name is [map0], value is [2]
    name is [lat1], value is [50.708286]
    etc

    But it outputs data as at the bottom of this message.

    What changes do I need to make to my program in order to get the correct data out?



    <% @Language = "VBScript" %>
    <% Response.buffer = true %>




    Dim sString ' a variable to hold the original string value
    Dim arrWork1 ' a variable to hold the split array of pairs
    Dim arrWork2 ' a variable to hold the split array of name/value
    Dim i ' a loop counter

    ' assume that the contents are all in a string called sString


    sString = "Res=Map=OS2000.Map, MapO=2, Lat1=50.708286, " & _
    "Lat2=50.798220, " & vbcrlf & _
    "Lat3=50.797615, Lat4=50.707683, Lon1=-001.575082, " & _
    "Lon2=-001.574267, " & vbcrlf & _
    "Lon3=-001.432362, Lon4=-001.433449 , Page=7, XCur=14, " & _
    "YCur=45, Col= H, " & vbcrlf & _
    "Row= 5 , Page=12, XCur=14, YCur=45, Col= G, Row= 7"


    ' next, let's get rid of all the spurious carriage returns and line
    'feeds...

    sString = Replace(sString, vbCrfl, "")

    'split the string into an array at each comma

    arrWork1 = Split(sString, ",")
    For i = LBound(arrWork1) to UBound(arrWork1)


    ' split the current pair into name and value
    ' at the first equals sign...

    arrWork2 = Split(arrWork1(i), "=", 2)
    Response.Write "Name is [" & _
    Trim(arrWork2(LBound(arrWork2))) & "]"
    Response.Write ", Value is [" & _
    Trim(arrWork2(UBound(arrWork2))) & "]<BR"
    Erase arrWork2 ' clear the array
    Next
    Erase arrWork1 ' clear the array



    %>

    <%="ret="&sString%>







    This is the output I am receiving from the above code.



    ' declare all of our variables... Dim sString ' a variable to hold the original string value Dim arrWork1 ' a variable to hold the split array of pairs Dim arrWork2 ' a variable to hold the split array of name/value Dim i ' a loop counter ' assume that the contents are all in a string called sString ' for fun, let's encode your sample contents into that string... sString = "Res=Map=OS2000.Map, MapO=2, Lat1=50.708286, " & _ "Lat2=50.798220, " & vbcrlf & _ "Lat3=50.797615, Lat4=50.707683, Lon1=-001.575082, " & _ "Lon2=-001.574267, " & vbcrlf & _ "Lon3=-001.432362, Lon4=-001.433449 , Page=7, XCur=14, " & _ "YCur=45, Col= H, " & vbcrlf & _ "Row= 5 , Page=12, XCur=14, YCur=45, Col= G, Row= 7" ' next, let's get rid of all the spurious carriage returns and line 'feeds... sString = Replace(sString, vbCrfl, "") 'split the string into an array at each comma arrWork1 = Split(sString, ",") For i = LBound(arrWork1) to UBound(arrWork1) ' split the current pair into name and value ' at the first equals sign... arrWork2 = Split(arrWork1(i), "=", 2) Response.Write "Name is [" & _ Trim(arrWork2(LBound(arrWork2))) & "]" Response.Write ", Value is [" & _ Trim(arrWork2(UBound(arrWork2))) & "] ret=


  2. #2

    Thread Starter
    Member
    Join Date
    May 2000
    Location
    London, UK
    Posts
    39

    Thumbs up please ignore the last item I posted

    please ignore the last message I posted back on the net

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width