asp提取出字符串中的数字
如,有一串字符3658黑色,这个是我从数据库中提取到的值.在另一个页面显示的时候.显示为:3658黑色但是我点击这串字符的时候.会转向到http://www.xxxx.h...
如,有一串字符
3658黑色,这个是我从数据库中提取到的值.在另一个页面显示的时候.
显示为:3658黑色 但是我点击这串字符的时候.会转向到http://www.xxxx.htm/xxx/3658.jpg 这个怎么弄呢.只需要告诉我.如何取得这个3658即可.
20808301a 我觉得我活着没有意思了.就像问别人 普通或者是一样是什么意思.这是解释得不能再解释的东西.你都看不懂.那么你的理解能力还有文化水平真的难以让人相信!综合可得,小儿麻痹症,或者如果你上了年纪,那么是老年痴呆症!请原谅我的坦率!
nnigou 谢谢你的帮助,我再详细一下.
http://www.xxxx.htm/xxx/3658.jpg 这里的3658是一个变量,是一个从字符串中取出来的!
如nnigou所说.我的库存表rs("Bianhao")里面的编号是带有 a-z 0-9的数字以及"-"号组成的.
response.write "<a href='http://www.kaka21551.cn/pic2009/"&left(rs("Bianhao"),4)&".jpg' target='_blank'>"&rs("Bianhao")&"</a>"
如上.这样只能提出前四位.我要的是.像3658黑色那么. 提出3658 如果QC020-1白色 那么提出 QC020-1 .能实现.分不是问题. 展开
3658黑色,这个是我从数据库中提取到的值.在另一个页面显示的时候.
显示为:3658黑色 但是我点击这串字符的时候.会转向到http://www.xxxx.htm/xxx/3658.jpg 这个怎么弄呢.只需要告诉我.如何取得这个3658即可.
20808301a 我觉得我活着没有意思了.就像问别人 普通或者是一样是什么意思.这是解释得不能再解释的东西.你都看不懂.那么你的理解能力还有文化水平真的难以让人相信!综合可得,小儿麻痹症,或者如果你上了年纪,那么是老年痴呆症!请原谅我的坦率!
nnigou 谢谢你的帮助,我再详细一下.
http://www.xxxx.htm/xxx/3658.jpg 这里的3658是一个变量,是一个从字符串中取出来的!
如nnigou所说.我的库存表rs("Bianhao")里面的编号是带有 a-z 0-9的数字以及"-"号组成的.
response.write "<a href='http://www.kaka21551.cn/pic2009/"&left(rs("Bianhao"),4)&".jpg' target='_blank'>"&rs("Bianhao")&"</a>"
如上.这样只能提出前四位.我要的是.像3658黑色那么. 提出3658 如果QC020-1白色 那么提出 QC020-1 .能实现.分不是问题. 展开
5个回答
展开全部
长度没固定,用正则表达式没错。
从你的描述看,Bianhao字段取出的字符串应该是字母a-z、数字0-9、横杠-和汉字组成吧。如果这样的话,可以这么写(已测试通过):
str = "白555 QC020-1白tr色"
Response.Write RegExpTest("[a-z0-9-]+",str)(0) '返回第一个匹配的字符串
Function RegExpTest(patrn, strng) '以数组返回
Dim regEx, Match, Matches
Dim i, RetStr()
i = 0
Set regEx = New RegExp
regEx.Pattern = patrn
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(strng)
For Each Match in Matches
' RetStr = RetStr & Match.Value
Redim Preserve RetStr(i)
RetStr(i) = Match.Value
i = i + 1
Next
RegExpTest = RetStr
End Function
从你的描述看,Bianhao字段取出的字符串应该是字母a-z、数字0-9、横杠-和汉字组成吧。如果这样的话,可以这么写(已测试通过):
str = "白555 QC020-1白tr色"
Response.Write RegExpTest("[a-z0-9-]+",str)(0) '返回第一个匹配的字符串
Function RegExpTest(patrn, strng) '以数组返回
Dim regEx, Match, Matches
Dim i, RetStr()
i = 0
Set regEx = New RegExp
regEx.Pattern = patrn
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(strng)
For Each Match in Matches
' RetStr = RetStr & Match.Value
Redim Preserve RetStr(i)
RetStr(i) = Match.Value
i = i + 1
Next
RegExpTest = RetStr
End Function
展开全部
Function GetUrlNum(constr)
Dim Re,Matches
Set Re = New RegExp
Re.IgnoreCase = True
Re.Global = True
Re.Pattern = "(\d+)"
set Matches=re.Execute(Constr)
UrlRemove=Matches(0)
Set Re = Nothing
End Function
Response.write(GetUrlNum("http://www.xxxx.htm/xxx/3658.jpg"))
_____________________________________________________________
是啊,GetUrlNum函数不就是从里面提取你需要的数字么?不管是网址还是什么
只取出来最前面一组数字。
_______________________________________________________________
是的,你的情况我觉得是这样,数据库里面某列存储了若干字母+数字的组合,但是只有数字部分才是构成那个图片地址的,这样就需要在该字段里面单独把数字提取出来,那么你就可以用GetUrlNum()函数取得.
假如你读取的是Rs("PicUrl")字段,那么你图片的地址就是
"http://www.xxxx.htm/xxx/"&GetUrlNum(Rs("PicUrl"))&".jpg"
Dim Re,Matches
Set Re = New RegExp
Re.IgnoreCase = True
Re.Global = True
Re.Pattern = "(\d+)"
set Matches=re.Execute(Constr)
UrlRemove=Matches(0)
Set Re = Nothing
End Function
Response.write(GetUrlNum("http://www.xxxx.htm/xxx/3658.jpg"))
_____________________________________________________________
是啊,GetUrlNum函数不就是从里面提取你需要的数字么?不管是网址还是什么
只取出来最前面一组数字。
_______________________________________________________________
是的,你的情况我觉得是这样,数据库里面某列存储了若干字母+数字的组合,但是只有数字部分才是构成那个图片地址的,这样就需要在该字段里面单独把数字提取出来,那么你就可以用GetUrlNum()函数取得.
假如你读取的是Rs("PicUrl")字段,那么你图片的地址就是
"http://www.xxxx.htm/xxx/"&GetUrlNum(Rs("PicUrl"))&".jpg"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我怀疑你小学没毕业。表达能力很低、看了3遍 没看明白。废话多。请原谅我的无理。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
百度搜asp截取字符串
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
aa=left("3658黑色",4)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询