2013-12-13 55 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]我记得:)

相关问题