删除字符串的最后一个字符(如果存在)

时间:2012-05-01 19:09:31

标签: php

我有一个包含一些文本的字符串,最后一个字符可能(可能)是斜杠,我不想要。如果它存在,我该如何删除?

这是“正确的”方式吗?

if(substr($str, -1) == "/") $str = rtrim($str, '/');

5 个答案:

答案 0 :(得分:9)

在没有条件的情况下使用rtrim,它更短,也可能更快。添加的if是噪音,不提供任何内容。

答案 1 :(得分:1)

如果你有一个字符串$ string尝试使用

substr_replace($string ,"",-1);

substr($string, 0, -1);

mb_substr($string, 0, -1);

它将从$ string中删除最后一个字符。

答案 2 :(得分:0)

如果是' /'

,则会替换网址的最后一个字符
concat(LEFT(url, LENGTH(url)-1),replace(right(url, 1),'/',''))

答案 3 :(得分:0)

在我的情况下,我需要删除像“1”这样的几个符号。或“2.”等。这是代码:

/**
 * @param string $string
 *
 * @return string
 */
private function cutNumbers($string)
{
    for ($i = 1; $i < 20; $i++) {
        $position = strpos($string, $i . '.');

        if ($position === 0) {
            $string = substr($string, 2);
        }
    }

    return $string;
}

PS:我知道有更好的解决方案,但无论如何 - 修补程序将帮助某人。

答案 4 :(得分:0)

rtrim与两个参数一起使用(要修剪的字符串,要删除的字符)

针对您的情况:

rtrim($str, '/');