首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >替换字符串中最后一次出现的字符串

替换字符串中最后一次出现的字符串
EN

Stack Overflow用户
提问于 2010-10-01 07:55:07
回答 15查看 117.5K关注 0票数 160

有没有人知道一种非常快速的方法,可以用字符串中的另一个字符串替换最后一个字符串?

注意,字符串的最后一个匹配项可能不是字符串中的最后一个字符。

示例:

代码语言:javascript
复制
$search = 'The';
$replace = 'A';
$subject = 'The Quick Brown Fox Jumps Over The Lazy Dog';

预期输出:

代码语言:javascript
复制
The Quick Brown Fox Jumps Over A Lazy Dog
EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2010-10-01 08:00:10

您可以使用此函数:

代码语言:javascript
复制
function str_lreplace($search, $replace, $subject)
{
    $pos = strrpos($subject, $search);

    if($pos !== false)
    {
        $subject = substr_replace($subject, $replace, $pos, strlen($search));
    }

    return $subject;
}
票数 246
EN

Stack Overflow用户

发布于 2013-08-08 05:11:45

另一个1行代码,但不含preg:

代码语言:javascript
复制
$subject = 'bourbon, scotch, beer';
$search = ',';
$replace = ', and';

echo strrev(implode(strrev($replace), explode(strrev($search), strrev($subject), 2))); //output: bourbon, scotch, and beer
票数 31
EN

Stack Overflow用户

发布于 2012-06-22 03:03:15

代码语言:javascript
复制
$string = 'this is my world, not my world';
$find = 'world';
$replace = 'farm';
$result = preg_replace(strrev("/$find/"),strrev($replace),strrev($string),1);
echo strrev($result); //output: this is my world, not my farm
票数 26
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3835636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档