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

最初の部分が常に4文字の場合は、次を使用できます。

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