• ベストアンサー

文字列をハイフンで区切る

文字列をハイフンで区切り取り出したいのですが、例えば $str = "aaa-bbb"; $str2 = explode("-", $str); の場合はいいのですが、ハイフンがいくつあるか分からない時、必ず最後のハイフンで 区切りたいのですが、良い方法はございますでしょうか。例えば、 $str = "aaa-bbb-c-ddddd-ee-fff-gg-hhh"; などの場合だと、「aaa-bbb-c-ddddd-ee-fff-gg」と「hhh」に分けたいのですが。 宜しくお願い致します。 (PHP バージョン 5.2.17)

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

こんな感じ <?PHP $str = "aaa-bbb-c-ddddd-ee-fff-gg-hhh"; $pattern="/-(?=[^-]+$)/"; $arr=preg_split($pattern,$str); print_r($arr); ?>

salemlight
質問者

お礼

ありがとうございます。 期待通りの結果を得られました。 正規表現、勉強したいと思います。

その他の回答 (1)

  • 1minn
  • ベストアンサー率57% (52/90)
回答No.2

// 位置を取得 $pos = strrpos($str, '-'); // 1つ目 $a = substr($str, 0, $pos); // 2つ目 $b = substr($str, $pos+1);

salemlight
質問者

お礼

ありがとうございます。 こちらも期待通りの結果が得られました。 大変勉強になりました。

関連するQ&A