2013-12-13 84 views
0

在找到任何數字之前,我必須剪下我的字符串的第一部分。例如:根據找到的第一個數字切割字符串

字符串: 「BOBOSZ 27A lok.6」 應以板缺「BOBOSZ「

字符串: 」AAA 43543「 應以板缺 」AAA「

字符串: 」aa2bhs2「 應被板缺至「AA」

林與使preg_split嘗試和爆炸funcionts,但我不能得到正確的結果現在。

提前感謝!

+0

爲什麼你沒有第一個和第二個字符串中的空間? –

+0

是的,你說得對,它應該被切割成'BOBOSZ'和'aaa',我會糾正我的問題 –

回答

1

呦ü可以使用這種模式與preg_match()功能:

preg_match('/^[^0-9]+/', $str, $match); 
print_r($match); 

圖案的詳細資料:

^   # anchor: start of the string 
[^0-9]+ # negated character class: all that is not a digit one or more times 

注意:您可以通過*如果你認爲一個空字符串是一個有效的結果替換+

如果你是絕對要使用preg_split()功能,你這樣做:

$result = preg_split('/(?=(?:[^0-9].*)?$)/s', $str); 
echo $result[0]; 
+0

使用$ answer = preg_split('/^[^ 0-9] + /',$ adress [0 ]);我得到了「array(size = 2)0 => string''(length = 0)1 => string'27A lok.6'(length = 9)」第一個字符串是空的,第二個字符串是第二個部分,需要第一部分... –

+0

@ 69punk:刷新頁面。 –

+0

你是對的,preg_match在這種情況下效果更好。謝謝 ;-) –

0
preg_match('#(\w+)\s?\d+#', $string, $match); 

你應該得到$匹配[1]我記得:)

相關問題