split asp中的split()

时间:2011-12-15 15:03:57

标签: asp-classic vbscript

我在经典的asp中有一个String。

Dim str 
str = "http://stackoverflow.com/questions/ask/code-classic-asp-in-linux"

在上面的字符串中,我希望在“代码”之后使用Classic asp中的split()

结果应该是:“ - classic-asp-in-linux”

5 个答案:

答案 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