2012-04-24 92 views
2

我想在一组数字之间加上空格preg_replace;用PHP正则表达式在一组数字之间添加空格

$numbers = '9000080';

所需的输出; 900 00 800 123 987

我很困惑,在这一点上,我无法得到理想的输出。

非常感谢您的帮助。

+5

你如何确定空间的位置?这听起来更像是你对空间应该在哪里有一个先入为主的概念,在这种情况下'substr'(字符串分割)将是更好的选择。正则表达式引擎是严重的矫枉过正/开销,尤其是考虑到你没有取代任何东西。 – Rudu 2012-04-24 13:59:10

+0

你说得对,只是用'substr'做了。正则表达式只是一行代码。它只会让人眼前一亮。 – Revenant 2012-04-24 14:05:23

回答

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',$ numbers);

相关问题