2017-07-18 276 views
-2

我需要使用preg_split()函数将字符串拆分为字母和数字。如何将字符串拆分为字母字符串和数字字符串?

例:ABC10000成,ABC10000

GSQ39800GSQ39800

WERTYI67888WERTYI67888

字母字符将是字符串的第一个字符(任何数量的)总是然后是数字(任意数量)。

+1

堆栈溢出不是一个代码或正则表达式写作服务。你到目前为止已经尝试了解自己的情况? –

+0

@KenWhite我尝试过'/([a-zA-Z] +)(\ d +)/',不过preg_match并不适用于preg_split。你认为那是什么? – Shaolin

+0

我认为这是为了解决人们一旦做出努力并且无法做到的问题。这不是一个免费的编码服务,您可以发布您的要求和选择的语言,并且有人会为您完成您的工作。如果你尝试过这个*,那么应该在你的问题中展示这个努力,并且你应该解释它为什么不能满足你的需求。如果它不在你的文章中,它就不存在,据我们所知。 –

回答

1

这是一个很小的任务。使用\K使用一个或多个量词字符类上的大写字母匹配:

代码:

$in='WERTYI67888'; 
var_export(preg_split('/[A-Z]+\K/',$in)); 

输出:

array (
    0 => 'WERTYI', 
    1 => '67888', 
) 
2

使用preg_match

$keywords = "ABC10000"; 
preg_match("#([a-zA-Z]+)(\d+)#", $keywords, $matches); 
print_r($matches); 

输出

Array 
(
    [0] => ABC10000 
    [1] => ABC 
    [2] => 10000 
) 
+0

OP不需要全字符串匹配,这就是为什么'preg_split()'被请求 – mickmackusa

+0

他问正则表达式,只是为了替代 – ewwink