替换字符串php中的最后一个劈开

2022-03-22 00:00:00 php preg-replace

我很难绕过正则表达式,我正在尝试删除字符串中的最后一个转发劈开:

$public_url = "https://api.mongohq.com/";

我打算删除最后一个转发的劈开,代之以其他内容。我想我可以使用preg_replace,但我找不到正确的模式来执行此操作。


解决方案

可以使用负Look-Expression:

<?php
$public_url = "https://api.mongohq.com/";
$replace = "foobar";

echo preg_replace("~/(?!.*/)~", $replace, $public_url);
?>

输出:
https://api.mongohq.comfoobar

更新:
使用以下正则表达式可避免最后一个劈开后面的字符出现问题:

echo preg_replace("~/(?!.*/)(.*)~", $replace, $public_url);

最后一个劈开后面的所有字符也将被替换。感谢Knittl!

相关文章