我得到了这个 url ,例如“http://www.yellowpages.com/manhattan-beach-ca/mip/marriott-manhattan-beach-4933923?lid=185795402"
我希望得到最后一位数字,其余的可以是任何内容。
我需要这样的格式“http://www.yellowpages.com/anything .... lid = randomdigitnumbers ”或者只要我得到那些号。
我的知识在这个正则表达式中很差,所以请大家帮助我。
以下不起作用
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
提前谢谢
答案 0 :(得分:1)
使用正则表达式对IMO来说有点矫枉过正。
你可以使用字符串函数完成同样的事情:
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)
这是我的头脑,所以你可能需要调整一下。基本概念是在URL之后的部分? (查询字符串),然后将其拆分为=符号,获取结果数组的第二个元素(值)。
此外,如果查询字符串具有多个名称值对,则它们将由&
分隔,因此您需要首先拆分&符号(&
),然后等号。
答案 1 :(得分:1)
找到lid=
并在此之后获取所有内容:
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)