送分题,关于读取字符串的问题

Cupid1945 2010-07-31 03:53:44
字符串如 "999-赵五|1-张三|0-day"

我现在想把"张三"这两个字取出来

字符串的规律如下
可以是"999-赵五|1-张三|0-day" 或者 "999-王六|2-赵五|1-张三|0-day" 或者是 "1-张三|0-day"
总是在最后一个"|" 前面,怎么取出来呢,有谁能写个通用函数最好
...全文
63 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lovebaby 2010-07-31
<%
Dim Str
Str = "999-赵五|1-张三|0-day"
Response.Write(GetName(Str))
Function GetName(str)
If Str = "" Then Exit Function
Dim StrArr,Str1,StrArr1
StrArr = Split(Str,"|")
Str1 = StrArr(UBound(StrArr) - 1)
StrArr1 = Split(Str1,"-")
GetName = StrArr1(1)
End Function
%>
回复
Cupid1945 2010-07-31
是要ASP的写法

取出的也不是一定是"张三"
也可能是 "999-赵五|1-李四|0-day" 把"李四"取出来
回复
pt1314917 2010-07-31

string str = "999-赵五|1-张三|0-day";
Regex reg=new Regex(@"\|?(\w+)\-([^\|]+)\|?");
MatchCollection mac= reg.Matches(str);
if (mac.Count > 2)
{
string ss = mac[mac.Count - 2].Groups[2].Value;
}

回复
pt1314917 2010-07-31

string str = "999-赵五|1-张三|0-day";
Regex reg=new Regex(@"\|?(\w+)\-([^\|]+)\|?");
MatchCollection mac= reg.Matches(str);
if (mac.Count > 2)
{
string ss = mac[mac.Count - 2].Groups[2].Value;
}

回复
nethp 2010-07-31
用包含吧
a="999-赵五|1-张三|0-day"
InStr(a,"张三|")
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告