douji9184 2017-01-17 23:25
浏览 76
已采纳

拆分包含单词和数字的字符串

I have a sports score. I need to split it up into teams and scores, but the problem is sometimes teams have more than one word in their names for instance:

$str = "New Mexico State 75 Alabama 84 FINAL";

I have tried things like:

$arr= preg_split("/[\s]+/", $str);

Which just splits by space, which is not what I want. I need the output to be:

$arr[0] = 'New Mexico State';
$arr[1] = '75';
$arr[2] = 'Alabama';
$arr[3] = '84';
  • 写回答

2条回答 默认 最新

  • doufu1970 2017-01-17 23:32
    关注

    Try this

      $str = "New Mexico State 75 Alabama 84 FINAL";
      $arr= preg_split('/(?<=\D)(?=\d)|\d+\K/', $str);
      print_r($arr);
    

    this will output

    Array ( [0] => New Mexico State [1] => 75 [2] => Alabama [3] => 84 [4] => FINAL )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求指导ADS低噪放设计
  • ¥15 CARSIM前车变道设置
  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存