如何截取文字中的数字?

phuai007 2008-12-05 03:31:20
格式为:
岁月风云-国语字幕50集
岁月风云-国语字幕50

岁月风云-国语字幕05集
岁月风云-国语字幕50

我只要这个50或者05,其他都不要,用什么函数来获取呢?
...全文
175 30 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjzb0409 2008-12-05
  • 打赏
  • 举报
回复
不错。
df274119386 2008-12-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xming4321 的回复:]
遍历所有的字符
判断是不是数字

当然用正则表达式更好
[/Quote]

正则好
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 virgo2008 的回复:]
汗,是藏故意的还是看错的啊!没有注意!
[/Quote]

我是为了让他看到效果,加逗号的
wackyboy 2008-12-05
  • 打赏
  • 举报
回复

Dim a,b,ma
a="岁月风云-国语字幕50集,岁月风云-国语字幕50,岁月风云-国语字幕05集,岁月风云-国语字幕50"

set ma=new regexp
ma.global=true
ma.pattern="[^\d]"
b=ma.replace(a,"") ' 结果:50500550
virgo2008 2008-12-05
  • 打赏
  • 举报
回复
汗,是藏故意的还是看错的啊!没有注意!
virgo2008 2008-12-05
  • 打赏
  • 举报
回复
rv1=split(rv,",")
for i=0 to ubound(rv1)-1 多一个,号,后面截取的占用了一个数组位置
rv2=rv2&" "&rv1(i)
next
response.write rv2
phuai007 2008-12-05
  • 打赏
  • 举报
回复
搞定了,将 rv = re.Replace(ss,"$2,") 后面的$2后面那个逗号去掉就行了, 多谢2位
virgo2008 2008-12-05
  • 打赏
  • 举报
回复
rv1=split(rv,",")
for i=0 to ubound(rv1)
rv2=rv2&" "&rv1(i)
next
response.write rv2
phuai007 2008-12-05
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 chinmo 的回复:]
HTML code<%ss = "岁月风云-国语字幕10集,岁月风云-国语字幕20,岁月风云-国语字幕30集,岁月风云-国语字幕40"
Set re = New RegExp
re.Pattern = "([^\d]*)(\d)([^\d]*)"
re.Global = True
re.IgnoreCase = True
re.MultiLine = True
rv = re.Replace(ss,"$2,")
response.Write rv%>



这个才对

那个看错了
[/Quote]

用了这个,数字出来了,不过多了一个逗号,如 50, 40, 等 数字后面多了个逗号
phuai007 2008-12-05
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 chinmo 的回复:]
HTML code<%ss = "岁月风云-国语字幕10集,岁月风云-国语字幕20,岁月风云-国语字幕30集,岁月风云-国语字幕40"
Set re = New RegExp
re.Pattern = "([^\d]*)(\d)([^\d]*)"
re.Global = True
re.IgnoreCase = True
re.MultiLine = True
rv = re.Replace(ss,"$2,")
response.Write rv%>



这个才对

那个看错了
[/Quote]

用了这个,数字出来了,不过多了一个逗号,如 50, 40, 等 数字后面多了个逗号
phuai007 2008-12-05
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 chinmo 的回复:]
HTML code<%ss = "岁月风云-国语字幕10集,岁月风云-国语字幕20,岁月风云-国语字幕30集,岁月风云-国语字幕40"
Set re = New RegExp
re.Pattern = "([^\d]*)\d([^\d]*)"
re.Global = True
re.IgnoreCase = True
re.MultiLine = True
rv = re.Replace(ss,"$1,")
response.Write rv%>
[/Quote]

用了这个代码,文字出来了,数字没了,和目的相反,我只要数字不要文字...
  • 打赏
  • 举报
回复
<%ss = "岁月风云-国语字幕10集,岁月风云-国语字幕20,岁月风云-国语字幕30集,岁月风云-国语字幕40"
Set re = New RegExp
re.Pattern = "([^\d]*)(\d+)([^\d]*)"
re.Global = True
re.IgnoreCase = True
re.MultiLine = True
rv = re.Replace(ss,"$2,")
response.Write rv%>
  • 打赏
  • 举报
回复
<%ss = "岁月风云-国语字幕10集,岁月风云-国语字幕20,岁月风云-国语字幕30集,岁月风云-国语字幕40"
Set re = New RegExp
re.Pattern = "([^\d]*)(\d)([^\d]*)"
re.Global = True
re.IgnoreCase = True
re.MultiLine = True
rv = re.Replace(ss,"$2,")
response.Write rv%>


这个才对

那个看错了
phuai007 2008-12-05
  • 打赏
  • 举报
回复
多谢virgo2008 ,不过问题还没解决,我将上面的代码搬上去了,出现js错误,提示缺少对象
virgo2008 2008-12-05
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 chinmo 的回复:]
HTML code<%ss = "岁月风云-国语字幕10集,岁月风云-国语字幕20,岁月风云-国语字幕30集,岁月风云-国语字幕40"
Set re = New RegExp
re.Pattern = "([^\d]*)\d([^\d]*)"
re.Global = True
re.IgnoreCase = True
re.MultiLine = True
rv = re.Replace(ss,"$1,")
response.Write rv%>
[/Quote]
藏的更加适合你,你是喜欢在vbscript里面判断的,就用他的就可以了!
  • 打赏
  • 举报
回复
<%ss = "岁月风云-国语字幕10集,岁月风云-国语字幕20,岁月风云-国语字幕30集,岁月风云-国语字幕40"
Set re = New RegExp
re.Pattern = "([^\d]*)\d([^\d]*)"
re.Global = True
re.IgnoreCase = True
re.MultiLine = True
rv = re.Replace(ss,"$1,")
response.Write rv%>
virgo2008 2008-12-05
  • 打赏
  • 举报
回复

<script language="javascript">
function aa(x)
{
str1=x.replace(/\D/g," ")
document.write(str1)
}
</script>


<%
function GetNo(iGameID) '获得集数
szSQL = "SELECT FullPath FROM Prog_Server where Prog_ID=" & iGameID
Set rsData_RName = Server.CreateObject("ADODB.Recordset")
rsData_RName.Open szSQL,con,1,3
if not rsData_RName.EOF then
FullPath = rsData_RName("FullPath")
m = InStrRev(FullPath, "\")
FullPath = Right(FullPath, Len(FullPath) - m)
n = InStr(FullPath, ".")
FullPath = Left (FullPath, n-1)

End If
rsData_RName.Close
set rsData_RName = nothing
GetNo=str1
Response.Write " <script>aa('"&FullPath&"') </script>"
end function

%>
phuai007 2008-12-05
  • 打赏
  • 举报
回复

function GetNo(iGameID) '获得集数
szSQL = "SELECT FullPath FROM Prog_Server where Prog_ID=" & iGameID
Set rsData_RName = Server.CreateObject("ADODB.Recordset")
rsData_RName.Open szSQL,con,1,3
if not rsData_RName.EOF then
FullPath = rsData_RName("FullPath")
m = InStrRev(FullPath, "\")
FullPath = Right(FullPath, Len(FullPath) - m)
n = InStr(FullPath, ".")
FullPath = Left (FullPath, n-1)

End If
rsData_RName.Close
set rsData_RName = nothing
response.Write"<script language=""javascript"">"
response.Write"var str="&FullPath&""
response.Write"str1=str.replace(/\D/g,"""");"
response.Write "document.write(str1);"
response.Write"</script>"
GetNo=str1
end function

才看清楚是用js,不过我这样写代码以后,什么都没获取到,提示 str为空或不是对象,帮忙修改下
virgo2008 2008-12-05
  • 打赏
  • 举报
回复
贴下你的代码!
phuai007 2008-12-05
  • 打赏
  • 举报
回复
用楼上的方法出现错误:

语法错误

/webmedia/common/dbend.inc.asp,行 423

str1=str.replace(/\D/g," ")
-----------------^
加载更多回复(10)

28,409

社区成员

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

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