user1055720
user1055720

Reputation: 3

Need Assistance on getting LINK ID using Regular Expressions?

I got this url for example "http://www.yellowpages.com/manhattan-beach-ca/mip/marriott-manhattan-beach-4933923?lid=185795402"

I want to get the last digit numbers and the rest could be anything.

I need a format like this "http://www.yellowpages.com/anything.... lid=randomdigitnumbers" or as long as i get those numbers.

My knowledge is very poor in this regex thing so please guys help me.

the following did not work

Dim r As New System.Text.RegularExpressions.Regex("http://www.yellowpages.com/.*lid=d*", RegexOptions.IgnoreCase)
    Dim m As Match = r.Match(txt)
    If (m.Success) Then
        Dim int1 = m.Groups(1)
        MsgBox("(" + int1.ToString() + ")" + "")
    End If

thank you in advance

Upvotes: 0

Views: 86

Answers (2)

Ry-
Ry-

Reputation: 224952

Just find lid= and get everything after that:

Dim url As String = "http://www.yellowpages.com/manhattan-beach-ca/mip/marriott-manhattan-beach-4933923?lid=185795402"
Dim lidIndex As Integer = url.IndexOf("lid=") + "lid=".Length
Dim lid As Integer = url.Substring(lidIndex)

Upvotes: 1

Tim
Tim

Reputation: 28530

Using Regular Expressions for this is a bit of overkill, IMO.

You could accomplish the same thing using string functions:

Dim url As String = "http://www.yellowpages.com/manhattan-beach-ca/mip/marriott-manhattan-beach-4933923?lid=185795402"

Dim queryString As String = url.SubString(url.IndexOf("?"), url.Length - url.IndexOF("?"))

Dim nameValuePairs As String() = queryString.Split("=")

Dim lid As String = nameValuePairs(1)

This is off the top of my head, so you may need to tweak it a bit. The basic concept is to the portion of the URL after the ? (the query string), and then split it on the = sign, taking the second element of the resulting array (the value).

Also, if the query string has more than one name value pair, they'll be separated by &, so you'll need to split on the ampersand (&) first, then the equal signs.

Upvotes: 1

Related Questions