2

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

这是“正确”的方式吗?

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

5 回答 5

10

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

于 2012-05-01T19:10:38.417 回答
1

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

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

或者

substr($string, 0, -1);

或者

mb_substr($string, 0, -1);

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

于 2012-05-01T19:26:54.233 回答
0

如果它是“/”,这将替换 url 的最后一个字符

concat(LEFT(url, LENGTH(url)-1),replace(right(url, 1),'/',''))
于 2014-12-18T08:55:29.810 回答
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:我知道有更好的解决方案,但无论如何 - 修补程序会帮助某人。

于 2016-04-27T22:53:15.093 回答
0

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

对于您的情况:

rtrim($str, '/');

于 2020-10-10T19:46:28.143 回答