在找到任何数字之前,我必须剪下我的字符串的第一部分。例如:根据找到的第一个数字切割字符串
字符串: “BOBOSZ 27A lok.6” 应以板缺“BOBOSZ“
字符串: ”AAA 43543“ 应以板缺 ”AAA“
字符串: ”aa2bhs2“ 应被板缺至“AA”
林与使preg_split尝试和爆炸funcionts,但我不能得到正确的结果现在。
提前感谢!
在找到任何数字之前,我必须剪下我的字符串的第一部分。例如:根据找到的第一个数字切割字符串
字符串: “BOBOSZ 27A lok.6” 应以板缺“BOBOSZ“
字符串: ”AAA 43543“ 应以板缺 ”AAA“
字符串: ”aa2bhs2“ 应被板缺至“AA”
林与使preg_split尝试和爆炸funcionts,但我不能得到正确的结果现在。
提前感谢!
呦ü可以使用这种模式与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];
使用$ answer = preg_split('/^[^ 0-9] + /',$ adress [0 ]);我得到了“array(size = 2)0 => string''(length = 0)1 => string'27A lok.6'(length = 9)”第一个字符串是空的,第二个字符串是第二个部分,需要第一部分... –
@ 69punk:刷新页面。 –
你是对的,preg_match在这种情况下效果更好。谢谢 ;-) –
preg_match('#(\w+)\s?\d+#', $string, $match);
你应该得到$匹配[1]我记得:)
为什么你没有第一个和第二个字符串中的空间? –
是的,你说得对,它应该被切割成'BOBOSZ'和'aaa',我会纠正我的问题 –