2011-07-02 14 views
3

文字列を類似文字のグループに分割する方法がわかりません。 、PHP文字列分割問題

AAA、BB:私はそうのようにそれらを分割できるようにしたいと思い

aaabb2222eee77777

:私はこの1つのようにではなく、ランダムな文字グループのいくつかの文字列を持っています2222、eee、77777

となり、各セットの文字数をカウントできるようになります。これを行う最も簡単な方法は何でしょうか?私は本当にどこから始めるべきかわからない。ありがとうございました!

+0

は「aaabbaaa」「AAA」、「BB」「AAA」に分割されることになって、それぞれがカウントされ個別に? – BoltClock

+0

はい、それぞれのクランプは個数として扱われるべきです。 – Vecta

答えて

9

あなたは、その配列を反復処理し、各アイテムのstrlen()を取得することができます:

preg_match_all('/(.)\1*/', 'aaabb2222eee77777', $matches); 
$matches = $matches[0]; 
 
Array 
(
    [0] => aaa 
    [1] => bb 
    [2] => 2222 
    [3] => eee 
    [4] => 77777 
) 
+0

私は 'preg_split()' ...とほとんど同じ正規表現を使っていました。 +1 – BoltClock

+0

そして私はループでそれをしようとしていた... +1 – Colum

+0

パーフェクト!ありがとうございました! – Vecta