如何将字符串拆分为字母字符串和数字字符串?
问题描述:
我需要使用preg_split()
函数将字符串拆分为字母和数字。如何将字符串拆分为字母字符串和数字字符串?
例:ABC10000
成,ABC
和10000
GSQ39800
成GSQ
和39800
WERTYI67888
成WERTYI
和67888
字母字符将是字符串的第一个字符(任何数量的)总是然后是数字(任意数量)。
答
这是一个很小的任务。使用\K
使用一个或多个量词字符类上的大写字母匹配:
代码:
$in='WERTYI67888';
var_export(preg_split('/[A-Z]+\K/',$in));
输出:
array (
0 => 'WERTYI',
1 => '67888',
)
答
使用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
堆栈溢出不是一个代码或正则表达式写作服务。你到目前为止已经尝试了解自己的情况? –
@KenWhite我尝试过'/([a-zA-Z] +)(\ d +)/',不过preg_match并不适用于preg_split。你认为那是什么? – Shaolin
我认为这是为了解决人们一旦做出努力并且无法做到的问题。这不是一个免费的编码服务,您可以发布您的要求和选择的语言,并且有人会为您完成您的工作。如果你尝试过这个*,那么应该在你的问题中展示这个努力,并且你应该解释它为什么不能满足你的需求。如果它不在你的文章中,它就不存在,据我们所知。 –