我在经典的asp中有一个String。
Dim str
str = "http://stackoverflow.com/questions/ask/code-classic-asp-in-linux"
在上面的字符串中,我希望在“代码”之后使用Classic asp中的split()
结果应该是:“ - classic-asp-in-linux”
答案 0 :(得分:11)
尼尔是对的。但在VBScript IndexOf
中,等效于InStr
。
Dim str
str = "http://stackoverflow.com/questions/ask/code-classic-asp-in-linux"
'Split
Response.Write Split(str,"-", 2)(1) ' classic-asp-in-linux
'Mid & InStr
Response.Write Mid(str, InStr(str, "-")) ' -classic-asp-in-linux
答案 1 :(得分:3)
这是一篇非常古老的帖子,我知道,但也许有人会觉得这很有用......我认为OP的实际问题是"如何从最后获得文档名称?一个URL?"答案是在最后一个斜杠之后获取所有。在这里,我使用InStrRev查找最后一个斜杠,存储它的位置,然后使用Right函数捕获url的结尾。
Dim str, tmp
str = "http://stackoverflow.com/questions/ask/code-classic-asp-in-linux"
tmp = InStrRev(str, "/")
str = Right(str, Len(str) - tmp)
Response.write str
如果网址上有一个尾随斜杠,则会产生问题,因此在使用中,您需要检查这种可能性。
答案 2 :(得分:2)
你应该这样做:
Dim str, arrSplitted
str = "http://stackoverflow.com/questions/ask/code-classic-asp-in-linux"
arrSplitted = Split(str, "code-")
arrSplitted将返回一个包含两个节点0和1的数组。节点1应包含-classic-as-in-linux。
Response.Write arrSplitted(1)
希望它有效,几年前我用过经典的ASP。
答案 3 :(得分:1)
Dim str, arrSplitted, tmp
str = "http://stackoverflow.com/questions/ask/code-classic-asp-in-linux"
tmp = split(str, "code")
Response.Write(tmp(UBound(tmp))) 'return the last element of the array.
你也可以使用Response.Write(split(str,“code”)(UBound(split(str,“code”))))但拆分执行两次,这就是为什么使用'tmp'变量。< / p>
答案 4 :(得分:0)
作为替代。 如果您的URL方案是固定的,则只需将固定部分替换为空。
Dim str
str = "http://stackoverflow.com/questions/ask/code-classic-asp-in-linux"
str = Replace(str,"http://stackoverflow.com/questions/ask/code-","")
Response.write str