【问题标题】:PHP - Remove part of string?PHP - 删除部分字符串?
【发布时间】:2013-05-31 04:15:23
【问题描述】:

我有以下结构的字符串:

AAA-BBB-CCC or 
BBB-CCC or
CCC-DDD

我想从这些字符串中删除第一部分。

结果

BBB-CCC
CCC
DDD

我可以在没有“爆炸”的情况下做到这一点吗?

提前致谢!

【问题讨论】:

标签: php string explode


【解决方案1】:

你可以这样使用:

$str = "AAA-BBB-CCC";
$str2 = explode("-", $str);
array_shift($str2);
$str = implode("-", $str2);

【讨论】:

    【解决方案2】:

    如果您总是要删除 4 个字符,请尝试此代码

    $string= substr( $your_string, 4 );
    

    【讨论】:

      【解决方案3】:

      如果你的字符串没有定义长度,你可以使用正则表达式。

      $str = "AAA-BBB-CCC";
      preg_match('/^.+?-(.+)/', $str, $results);
      var_dump($results);
      

      【讨论】:

      • 或 preg_replace('/^.+?-(.+)/', '$1', $str);
      【解决方案4】:
      $str = "
      AAA-BBB-CCC
      BBB-CCC
      CCC-DDD
      ";
      
      $str = preg_replace('/^([A-Z]{3}\-)/m', '', $str);
      var_dump($str);
      

      这行得通。如果它超出您的示例字符串,只需稍微修改正则表达式以适合您的格式。

      【讨论】:

        【解决方案5】:

        是的,只需像这样使用strpossubstr

        $string = substr($string, strpos($string, '-'));
        

        这会在第一个 - 处截断 - 如果零件的长度始终相同,那就更容易了:

        $string = substr($string, 4);
        

        【讨论】:

          【解决方案6】:

          如果第一部分总是四个字母,你可以这样:

          $newString = substr($str, 4);
          

          【讨论】:

            猜你喜欢
            • 2017-05-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-07-02
            • 1970-01-01
            相关资源
            最近更新 更多