php如何去除最后一个匹配字符

 我来答
stresume
2016-11-29 · TA获得超过289个赞
知道小有建树答主
回答量:587
采纳率:0%
帮助的人:468万
展开全部
第一种,直接使用strrpos,substr实现
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$str="hello,how are you!";//要处理的字符串
$lastchar="o";//最后一个字符
$pos=strrpos($str,$lastchar);//确定最后一个字符的位置
$str=substr($str,0,$pos).substr($str,$pos+strlen($lastchar));//截取并合并字符串
echo $str;
?>
第二种,使用explode,将匹配的字符作为分隔符,分隔成数组,之后重新合并数组,过滤掉匹配的最后一个字符即可。
代码如下:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$str="hello,how are you!";
$lastchar="o";
$ary=explode($lastchar,$str);
for($i=0;$i<count($ary);$i++)
{
if($i<(count($ary)-2))
{
$res.=$ary[$i].$lastchar;
}
else
{
$res.=$ary[$i];
}
}
echo "<div>最终结果:".$res."</div>";
?>
希望对你有帮助。
jake3425311
2016-11-29 · TA获得超过417个赞
知道小有建树答主
回答量:476
采纳率:25%
帮助的人:93.4万
展开全部
substr($arr_str, 0, -1),

rtrim($arr_str, ",")

<?php
$hello="a|b|c|";
$hello=preg_replace("@|$@","",$hello);
echo $hello."<br>";
$str="abcd";
preg_match_all("@$hello@",$str,$result);
print_r($result);
?>
希望可以采纳,谢谢。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式