2012-04-24 13 views
2

preg_replaceと数字の間に空白を追加したいと思います。PHP正規表現で数値の間に空白を追加する

$numbers = '9000080';

所望の出力; 900 00 800 123 987

私はこの時点でかなり混乱しています。これまでのところ、私は望ましい出力を得ることができませんでした。

ありがとうございます。

+5

スペースの場所はどのように決めるのですか?スペースをどこに置くべきかという先入観を持っているように聞こえます。この場合、 'substr'(文字列分割)が良い選択になります。正規表現エンジンは、特に何も置き換えていないと考えると、過剰なオーバーキル/オーバヘッドです。 – Rudu

+0

あなたは正しいです、ちょうど 'substr'でそれをしました。正規表現はコードの1行にすぎません。それはちょうど目に見えるようになります。 – Revenant

答えて

7

あなたの具体的な例では、これはそれを行うだろう:

$numbers = '9000080'; 
$regex = '/(\\d{3})(\\d{2})(\\d{3})(\\d{3})(\\d{3})/'; 
$result = preg_replace($regex, '$1 $2 $3 $4 $5', $numbers); 
0

これは動作しますが、洗練することができます!

preg_replace( '/ ^([0-9] {3})([0-9] {2})([0-9] {3})([0-9] {3})( [0-9] {3})$/'、' $ 1 $ 2 $ 3 $ 4 $ 5 '、$数字);

関連する問題