ASP字符串截取函数,适用于采集程序调用
作者:网络 来源:佚名 更新时间:2009-03-13 16:47:50 点击:'********************************************************************************
' function(公有)
' 名称 : 字符串截取函数
' 作用 : 按指定首尾字符串截取内容(本函数为从左向右截取)
' 参数 : scontent ---- 被截取的内容
' sstart ------ 首字符串
' istartno ---- 当首字符串不是唯一时取第几个
' bincstart --- 是否包含首字符串(1/true为包含,0/false为不包含)
' istartcusor - 首偏移值(指针单位为字符数量,左偏用负值,右偏用正值,不偏为0)
' sover ------- 尾字符串
' ioverno ----- 当尾字符串不是唯一时取第几个
' bincover ---- 是否包含尾字符串((1/true为包含,0/false为不包含)
' iovercusor -- 尾偏移值(指针单位为字符数量,左偏用负值,右偏用正值,不偏为0)
'********************************************************************************
public function senfe_cut(scontent, sstart, istartno, bincstart, istartcusor, sover, ioverno, bincover, iovercusor)
if scontent<>"" then
dim istartlen, ioverlen, istart, iover, istartcount, iovercount, i
istartlen = len(sstart) '首字符串长度
ioverlen = len(sover) '尾字符串长度
'首字符串第一次出现的位置
istart = instr(scontent, sstart)
'尾字符串在首字符串的右边第一次出现的位置
iover = instr(istart + istartlen, scontent, sover)
if istart>0 and iover>0 then
if istartno < 1 or isnumeric(istartno)=false then istartno = 1
if ioverno < 1 or isnumeric(ioverno)=false then ioverno = 1
'取得首字符串出现的次数
istartcount = ubound(split(scontent, sstart))
if istartno>1 and istartcount>0 then
if istartno>istartcount then istartno = istartcount
for i = 1 to istartno
istart = instr(istart, scontent, sstart) + istartlen
next
iover = instr(istart, scontent, sover)
istart = istart - istartlen '还原默认状态:包含首字符串
end if
'取得尾字符串出现的次数
iovercount = ubound(split(mid(scontent, istart + istartlen), sover))
if ioverno>1 and iovercount>0 then
if ioverno>iovercount then ioverno = iovercount
for i=1 to ioverno
iover = instr(iover, scontent, sover) + ioverlen
next
iover = iover - ioverlen '还原默认状态:不包含尾字符串
end if
if cbool(bincstart)=false then istart = istart + istartlen '不包含首字符串
if cbool(bincover) then iover = iover + ioverlen '包含尾字符串
istart = istart + istartcusor '加上首偏移值
iover = iover + iovercusor '加上尾偏移值
if istart<1 then istart = 1
if iover<=istart then iover = istart + 1
'按指定的开始和结束位置截取内容
senfe_cut = mid(scontent, istart, iover - istart)
else
'senfe_cut = scontent
senfe_cut = "没有找到您想要的内容,可能您设定的首尾字符串不存在!"
end if
else
senfe_cut = "没有内容!"
end if
end function
收集最实用的网页特效代码!