doupuzhimuhan9216 2014-12-13 14:34
浏览 23
已采纳

PHP正则表达式:在数值上拆分一个字符串

I have a code that can receive 2 types of string:

  1. text number text

    danny levitt 48 new york
    
  2. text number [comma] text

    danny levitt 48, new york
    

The text on both size can be a single word or more, and the language might not be english.

I need those strings to return to me in an array as follows:

    Array (
        0 => "danny levitt",
        1 => "48",
        2 => "new york"
    )

How can I do that?

Thanks.

  • 写回答

1条回答 默认 最新

  • douzhuo5671 2014-12-13 14:46
    关注

    Split your input according to the space which exists just before to the number and the space which follows the same number. \K discards the previously matched characters.

    $string = "danny levitt 48, new york";
    $regex = '~\s+(?=\b\d+,?)|\b\d+\K,?\s+~';
    $splits = preg_split($regex, $string);
    print_r($splits);
    

    Output:

    Array
    (
        [0] => danny levitt
        [1] => 48
        [2] => new york
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历