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

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

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

字符串的规律如下
可以是"999-赵五|1-张三|0-day" 或者 "999-王六|2-赵五|1-张三|0-day" 或者是 "1-张三|0-day"
总是在最后一个"|" 前面,怎么取出来呢,有谁能写个通用函数最好
...全文
82 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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,"张三|")

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧