asp,php取夹在俩字符串之间的字符串 的函数

原创 2007年10月07日 10:13:00

经常在提取 文本操作中要找出俩特定字符串之间的部分,以下函数将实现此功能。

asp:

<%
'取中间字符串
function getmidstr(L,R,str)

  int_left
=instr(str,L)
  int_right
=instr(str,R)

  
If int_left>0 and int_right>0 Then
  getmidstr
=mid(str,int_left+len(L),int_right-int_left-len(L))
  
Else
  getmidstr
="执行的字符串中不包含“"&L&"”或“"&R&""
  
End If
end function

str
="123456789"
response.write 
"<BR>"&getmidstr("23","78",str)
’将输出
"456"
%
>

扩展模式:

<%
'取中间字符串
function getmidstr(L,R,str,m,n) 
          
'm,n为控制参数,表示输出的字符串将分别向左,向右多输出m,n个字符。
  int_left=instr(str,L)
  int_right
=instr(str,R)

  
if (m="left"then   '若m为“left”,输出的字符串将包含左边部分(L),下同
  m=len(L)
  
end if
  
if (n="right"then
  n
=len(R)
  
end if

  
if (m>(len(L)+int_left-1)) then
  m
=(len(L)+int_left-1)
  
end if
  
If int_left>0 and int_right>0 Then
  getmidstr
=mid(str,int_left+len(L)-m,int_right-int_left-len(L)+n+m)
  
Else
  getmidstr
="执行的字符串中不包含“"&L&"”或“"&R&""
  
End If
end function

str
="abcdefghijk"
response.write 
"<BR>"&getmidstr("bcd","hi",str,0,0
‘输出
"efg"
response.write 
"<BR>"&getmidstr("bcd","hi",str,2,1
‘输出
"cdefgh"
response.write 
"<BR>"&getmidstr("bcd","hi",str,"left","right"
‘输出
"bcdefghi"


%
>

 

资料来源http://www.uptoday.cn

 


php:

 

 

简单模式:

  <?php

//取中间字符串
function getmidstr($L,$R,$str)
{  
  
$int_l=strpos($str,$L);
  
$int_r=strpos($str,$R);
  
If ($int_l>-1&&$int_l>-1)
    {
    
$str_put=substr($str,$int_l+strlen($L),($int_r-$int_l-strlen($L)));
    
return $str_put;
    }
  
else
    
return "执行的字符串中不包含“".$L."”或“".$R."";
}
$str="123456789";
echo getmidstr("23","8",$str);
//输出:"4567"
  ?>

扩展模式:

  <?php

//取中间字符串
function getmidstr($L,$R,$str,$m,$n){

  
  
if($m=="left"){$m=strlen($L);}
  
if($n=="right"){$n=strlen($R);}
  
$int_l=strpos($str,$L);
  
$int_r=strpos($str,$R);
  
If ($int_l>-1&&$int_l>-1)
    {
    
if ($m>(strlen($L)+$int_l)){$m=(strlen($L)+$int_l);}
    
if ( $n>(strlen($str)-$int_r) ){$n=(strlen($str)-$int_r);}
    
$str_put=substr($str,$int_l+strlen($L)-$m,($int_r-$int_l-strlen($L)+$n+$m));
    
return $str_put;
    }
  
else
    
return "执行的字符串中不包含“".$L."”或“".$R."";
}
$str="123456789";
echo getmidstr("23","78",$str,1,"right");
//输出"345678"
  ?>

获取两个字符串之间最长公共字符串的算法(PHP)

算法1:  矩阵法  原理:字符串1:string1='aabbccdd'  字符串2:string2='accbbcdd'  用string1的每个字符与string2的每个字符相比较,相等写做1....
  • redrangon
  • redrangon
  • 2006年07月16日 03:28
  • 1278

php正则表达式 获取开始字符串和结束字符串中的部分内容

使用php正则表达式来获取开始字符串与结束字符串之间的内容
  • shi_yi_fei
  • shi_yi_fei
  • 2016年03月06日 17:51
  • 5503

ASP中截取字符串的方法

方法一:       if len(rs("title")) > 10 then  判断字符串的长度            response.Write left(rs("title"),9)&" ....
  • mxq007
  • mxq007
  • 2007年08月10日 08:57
  • 6316

php截取指定两个字符之间字符串

/** * php截取指定两个字符之间字符串,默认字符集为utf-8 Power by 大耳朵图图 * @param string $begin 开始字符串 * @param string $...
  • qq_27229113
  • qq_27229113
  • 2017年12月27日 11:07
  • 573

PHP用substr函数截取字符串中的某部分

经常看到有新手问PHP有没有类似asp的left函数或right函数,实现截取某字符串左边或右边开始N个字符的函数。答案当然是有的。PHP中的substr函数就可以做的到,只不过PHP把二个函数合二为...
  • dongsg11200
  • dongsg11200
  • 2013年07月01日 11:58
  • 13155

php截取某二个特殊字符串间的某段字符串

在php开发的过程中,有时候会用到截取某二个特殊字符串间的某个字符串,并对这个字符串做特殊的处理,那么对截取出来的字符串做什么特殊处理我们暂时不管,我们今天先讲php截取某二个特殊字符串间的某个字符串...
  • u011986449
  • u011986449
  • 2014年10月24日 20:14
  • 3630

截取字符串函数( 截取左边N个字符 )

//string QYNameAndID = "61.164.228.8:24F74782733CBB7DF98D2111:3300035082302:浙江汇信科技有限公司测试KEY-50号";   ...
  • liuhuan2099
  • liuhuan2099
  • 2007年09月21日 08:49
  • 817

asp取指定字符后的字符串

mystr="1,2,3,4,5"  mystr=split(mystr,",")  for  i=0  to  ubound(mystr)  response.write  mystr(i)  ne...
  • yeyu712
  • yeyu712
  • 2006年09月21日 22:24
  • 989

php取出字符串(包括汉字)首字母函数

//取出首字母函数 function getfirstchar($s0){  if(ord($s0)>="1" and ord($s0) //$s=iconv("UTF-8","gb2312...
  • skfzc
  • skfzc
  • 2015年12月11日 15:07
  • 1646

PHP截取两个指定字符中间的字符

实现的方法有很多种,在不考虑执行效率的情况下,这里贴出来一个最小白,但是最容易懂的方法:     $a = "123@abc#456";     $b= (strpos($a,"@"));    ...
  • wyqwclsn
  • wyqwclsn
  • 2014年10月09日 14:17
  • 713
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp,php取夹在俩字符串之间的字符串 的函数
举报原因:
原因补充:

(最多只允许输入30个字)