如果是-C,则从字符串中删除最后两个字符

时间:2015-08-28 13:23:46

标签: php

如果是-C,我需要从字符串中删除最后两个字符。我正在使用以下代码来实现此目的。在某些情况下,它没有产生适当的结果。

例如1:正确的结果

$str = "215-RTST-C";
echo chop($str,"-C");

例如2:结果不正确

$str = "210-ADBC-C";
echo chop($str,"-C");

有人可以帮我跟踪这个问题吗?

2 个答案:

答案 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。

相关问题