如果是-C,我需要从字符串中删除最后两个字符。我正在使用以下代码来实现此目的。在某些情况下,它没有产生适当的结果。
例如1:正确的结果
$str = "215-RTST-C";
echo chop($str,"-C");
例如2:结果不正确
$str = "210-ADBC-C";
echo chop($str,"-C");
有人可以帮我跟踪这个问题吗?
答案 0 :(得分:7)
echo preg_replace('/-C$/', '', $str);
会起作用。
chop()
又名rtrim()
不合适,因为它不遵守字符顺序,也不可能限制chop()
的字符数。
答案 1 :(得分:1)
对于这样的事情你可以使用substr。这可以满足您的需求:
$str = "215-RTST-C";
if (substr($str, -2) == '-C')
$str = substr($str, 0, -2);
echo $str;
编辑:syck的回答更有效率,我没有想到使用preg_replace。