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


Delete last character of string (if exists)

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

这是"正确"的方式吗?

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

无条件使用rtrim,它更短,也可能更快。增加if是噪音,不提供任何东西。

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

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

substr($string, 0, -1);

mb_substr($string, 0, -1);

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

如果URL

是"/",这将替换URL的最后一个字符

concat(LEFT(url, LENGTH(url)-1),replace(right(url, 1),'/',''))

就我而言,我需要删除几个符号,如"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:我知道有更好的解决方案,但无论如何 - 修补程序将帮助某人。

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

对于您的情况:

rtrim($str, '/');