我正在努力寻找字符串操作的解决方案 - 我试图在'='字符之后提取字符串元素的某个部分 - 比如说。
dim s as string = "/mysite/secondary.aspx?id=1005"
我试图在“=”之后获取字符串并且只是为了抓住1005.我尝试了indexof和split,但我不确定我哪里出错了。有什么帮助吗?
这就是我所做的:
Dim lnk As String = "/mysite/secondary.aspx?id=1005"
Dim id As Long = lnk.IndexOf("=")
Dim part As String = lnk.Substring(id + 1, 4)
由于
答案 0 :(得分:6)
尝试以下
Dim index = s.IndexOf("="C)
Dim value = s.Substring(index + 1)
这会将“1005”放入value
答案 1 :(得分:5)
Dim tUriPath As String = "/mysite/secondary.aspx?id=1005"
Dim tURI As Uri = New Uri("dummy://example.com" & tUriPath)
Dim tIdValue As String = System.Web.HttpUtility.ParseQueryString(tUri.Query)("id")
答案 2 :(得分:1)
这是一个非常简单的例子。显然它依赖于非常具体的条件:
Dim afterEquals As String = s.Split("="c)(1)
你可能想要一些更健壮的东西(检查以确保从Split返回多个字符串等)。
答案 3 :(得分:0)
如果你用'='尝试string.Split,你将在数组的第一个元素上获得1005
,在第0个位置获得/mysite/secondary.aspx?id=
。
但是,如果这只是来自http请求的常规URL。
你可能会Request.QueryString("id")
,它会返回1005
;
借用Boo的代码......
Dim tUriPath As String = "/mysite/secondary.aspx?id=1005"
Dim tURI As Uri = New Uri("dummy://example.com" & tUriPath)
Dim tIdValue As String = System.Web.HttpUtility.ParseQueryString(tUri.Query)
Dim theIntYouWant as String= System.Web.HttpUtility.ParseQueryString(tUri.Query)("id")