2012-05-01 190 views
2

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

这是“正确”的方式吗?

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

您正在编码的语言? – Aminesrine

+2

@Bouaziz :)它已经被标记为紧接在问题下方的PHP。 – Lion

回答

8

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

+0

关于几个符号?例如,我需要削减“1”。或“2.”等 – user1954544

+0

@ user1954544我会用一个正则表达式,像'preg_replace('/^\ d + \ ./','',$ input)'' – Jon

1

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

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

substr($string, 0, -1); 

mb_substr($string, 0, -1); 

就将删除$字符串的最后一个字符。

0

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

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

对我来说,我需要删除severalsymbols像“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:我知道有更好的解决方案,但无论如何 - 修补程序将帮助某人。

相关问题