【问题标题】:How to split string into an alphabetic string and a numeric string?如何将字符串拆分为字母字符串和数字字符串?
【发布时间】:2017-07-18 02:13:39
【问题描述】:

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

例如:ABC10000 into、ABC10000

GSQ39800 转换为 GSQ39800

WERTYI67888 转换为 WERTYI67888

字母字符将始终是字符串的第一个字符(任意数量),然后是数字(任意数量)。

【问题讨论】:

  • Stack Overflow 不是代码或正则表达式编写服务。到目前为止,您尝试过什么来解决这个问题?
  • @KenWhite 我尝试/([a-zA-Z]+)(\d+)/ 与 preg_match 不幸的是没有与 preg_split 一起使用。那你觉得它有什么用呢?
  • 我认为这是为了解决人们曾经努力却做不到的问题。这不是一项免费的编码服务,您可以在其中发布您的要求和选择的语言,然后有人为您工作。如果您尝试过,则应该在您的问题中展示您的努力,并且您应该解释为什么它不能满足您的需求。如果它不在您的帖子中,就我们所知,它不存在。

标签: php regex preg-split


【解决方案1】:

使用preg_match

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

输出

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

【讨论】:

  • OP 不需要全字符串匹配,这就是为什么需要preg_split()
  • 他问正则表达式,只是为了替代
【解决方案2】:

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

代码:

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

输出:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 2019-01-07
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    相关资源
    最近更新 更多