2

我有以下结构的字符串:

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

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

结果

BBB-CCC
CCC
DDD

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

提前致谢 !

4

6 回答 6

4

你可以使用这样的东西:

$str = "AAA-BBB-CCC";
$str2 = explode("-", $str);
array_shift($str2);
$str = implode("-", $str2);
于 2012-07-10T07:22:41.280 回答
1

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

$string= substr( $your_string, 4 );
于 2012-07-10T06:50:42.253 回答
1

是的,只需像这样使用strpossubstr

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

这首先切割-- 如果零件总是相同的长度,那就更容易了:

$string = substr($string, 4);
于 2012-07-10T06:50:53.977 回答
1

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

$str = "AAA-BBB-CCC";
preg_match('/^.+?-(.+)/', $str, $results);
var_dump($results);
于 2012-07-10T06:53:08.843 回答
1
$str = "
AAA-BBB-CCC
BBB-CCC
CCC-DDD
";

$str = preg_replace('/^([A-Z]{3}\-)/m', '', $str);
var_dump($str);

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

于 2012-07-10T06:59:42.690 回答
0

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

$newString = substr($str, 4);
于 2012-07-10T06:50:32.247 回答