2014-01-29 77 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

謝謝,下次我會的。 –

相關問題