2014-01-29 79 views
0

我一直在试图创建一个正则表达式,它只能选择数字之间的空格,而preg_split可以分割。如何使用preg_split将数字之间的空格拆分字符串?

例如:

$string = "Unit 54 981 Mayne Street"; 

会为回报:

array() { 
    [0]=> "Unit 54" 
    [1]=> "981 Mayne Street" 
} 

我有没有运气这么远。任何帮助将不胜感激!

+0

看看前面和后面:由于它们不是匹配的一部分,它们将被保留,并且只有空白在分割中被删除。 – Wrikken

+0

谢谢!这正是我想要的,但我一定错过了一些尝试。 –

回答

1

尝试使用lookaround assertions,像这样:

$result = preg_split('/(?<=\d)\s+(?=\d)/', $string); 

这将匹配的由一个数字字符立即之前和之后的一个或多个空白字符的任何序列。它产生这个数组:

Array (
    [0] => "Unit 54" 
    [1] => "981 Mayne Street" 
) 
+0

谢谢!这完全解决了我的问题。我的正则表达式非常接近,但却有致命的缺陷。显然我必须等待七分钟才能接受你的答案。 –

+1

@ Sam-很高兴我能帮上忙。不过在将来,请确保你在这个问题中包含你的尝试。你会得到更好的结果,我们可以告诉你哪里出错了。 –

+0

谢谢,下次我会的。 –

相关问题