提取双引号中的字符串函数?自己写了个函数,有问题,请教!!

zhenai0512 2008-06-13 03:06:49
提取一个字符串中第一次出现的双引号中的字符串,
例如:dim s
s=add"sdgsd"dgsadg"12155"
通过函数提取出来的字符串为:s=sdgsd
下面是自己写的函数,总是报错,请高人指教!
Function TiQu(wstr)
On Error Resume Next
Dim k
Dim m
m = 0
k = False
TiQu = ""
For i = 1 To Len(Trim(wstr))
If Mid(Trim(wstr), i, 1) = Chr(34) Then
k = True
m = m + 1
ElseIf k = True And m = 1 Then
TiQu = TiQu & Mid(Trim(wstr), i, 1)
ElseIf Mid(Trim(wstr), i, 1) = Chr(34) And m = 2 Then
Exit Function
Next i
End Function
%>
<%
response.write(TiQu(wstr))'调用函数打印出字符串
%>
...全文
253 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhenai0512 2008-06-13
  • 打赏
  • 举报
回复
太感谢了
jhwcd 2008-06-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 littlelam 的回复:]
HTML code
<%
Function ReplaceTest(patrn,str1, replStr)
Dim regEx
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = patrn ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分大小写。
regEx.Global = True
ReplaceTest = regEx.Replace(str1, replStr) ' 作替换。
End Function
Response.Write(Server.HTMLEncode(ReplaceTest("""…
[/Quote]
就他的方法试试。
littlelam 2008-06-13
  • 打赏
  • 举报
回复

<%
Function ReplaceTest(patrn,str1, replStr)
Dim regEx
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = patrn ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分大小写。
regEx.Global = True
ReplaceTest = regEx.Replace(str1, replStr) ' 作替换。
End Function
Response.Write(Server.HTMLEncode(ReplaceTest("""([^""]*)""","<a href=""shownew.asp?id=100"">新闻</a><a href=""shownew.asp?id=100"">新闻</a>","""shownew.htm""")))
%>

这样?
littlelam 2008-06-13
  • 打赏
  • 举报
回复

<%
Function ReplaceTest(patrn,str1, replStr)
Dim regEx
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = patrn ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分大小写。
ReplaceTest = regEx.Replace(str1, replStr) ' 作替换。
End Function
Response.Write(ReplaceTest("""([^""]*)""","<a href=""shownew.asp?id=100"">新闻</a>","""shownew.htm"""))
%>
zhenai0512 2008-06-13
  • 打赏
  • 举报
回复
我是想,把一个字符串中所有 <a href="" >谢谢</a> 中双引号中的字符串替换成别的字符串,
例如:dim s
s=<a href="shownew.asp?id=100">新闻</a>
通过函数:变成如下:
s=<a href="shownew.htm">新闻</a>
zhenai0512 2008-06-13
  • 打赏
  • 举报
回复
要是我想匹配所有双引号内的字符串,并保存到一个数组里,怎么写呢?很感谢,刚那个函数通过了。
littlelam 2008-06-13
  • 打赏
  • 举报
回复

<%
dim s
s="add""sdgsd""dgsadg""12155"""
Function RegExpTest(strng)
Dim regEx, Match, Matches ' 建立变量。
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = """([^""]*)""" ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分大小写。
regEx.Global = False ' 设置全局替换。
Set Matches = regEx.Execute(strng) ' 执行搜索。
For Each Match in Matches ' 遍历 Matches 集合。
RegExpTest = Replace(Match.Value,"""","")
Exit Function
Next
RegExpTest = ""
End Function
Response.Write(RegExpTest(s))
%>
regEx.Global = False '只匹配第一个

zhenai0512 2008-06-13
  • 打赏
  • 举报
回复
谢了 我试试看
littlelam 2008-06-13
  • 打赏
  • 举报
回复

<%
dim s
s="add""sdgsd""dgsadg""12155"""
Function RegExpTest(strng)
Dim regEx, Match, Matches ' 建立变量。
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = """([^""]*)""" ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分大小写。
regEx.Global = True ' 设置全局替换。
Set Matches = regEx.Execute(strng) ' 执行搜索。
For Each Match in Matches ' 遍历 Matches 集合。
RegExpTest = Replace(Match.Value,"""","")
Exit Function
Next
RegExpTest = ""
End Function
Response.Write(RegExpTest(s))
%>

28,391

社区成员

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

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